Почему очистка RandomAccessFile всегда не удалась?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему очистка RandomAccessFile всегда не удалась?

Сообщение Anonymous »

Я использую режим «rw» и хочу загрузить содержимое на устройство:

Код: Выделить всё

RandomAccessFile random= new RandomAccessFile(path.toFile(), "rw");
random.write(1);
Но они всегда терпели неудачу при операции очистки:

Код: Выделить всё

//Force failed
random.getChannel().force(true);
или

Код: Выделить всё

//sync failed
random.getFD().sync();
Причина не указана подробно:

Код: Выделить всё

sync failed
java.io.SyncFailedException: sync failed
at java.io.FileDescriptor.sync(Native Method)
Другие режимы также выдают ту же ошибку:"

Код: Выделить всё

rwd","rws
". Почему и как решить?
Похожий вопрос: Как мне очистить RandomAccessFile (java)?.
В этом вопросе кто-то упомянул об использовании метода getFD().sync(), который, по-видимому, работал у них правильно. Однако для меня после тестирования оба метода getFD().sync(). и getChannel().force(true) постоянно выдают ошибки (хотя данные по-прежнему могут быть правильно записаны на устройство. Я хочу знать, должны ли эти методы всегда давать сбой или я что-то пропустил).

Подробнее здесь: https://stackoverflow.com/questions/791 ... ays-failed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»