Почему очистка 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

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