Как записать содержимое в определенное место в файле с помощью FileWriter? - PullRequest
1 голос
/ 10 августа 2011

Я использую Java FileWriter для записи содержимого в существующий файл, но содержимое добавляется в конец файла.Я хочу добавить контент в определенном месте.Может кто-нибудь помочь мне, как это сделать?

В настоящее время я делаю что-то вроде этого:

FileWriter fileWriter = new FileWriter(fileW,true);
fileWriter.append(metaData.toString());
fileWriter.flush();
fileWriter.close();

Ответы [ 2 ]

3 голосов
/ 10 августа 2011

Ваша цель вставить данные в середину файла?Если это так, большинство файловых систем в основном не поддерживают это.Вам необходимо:

  • Создать новый файл
  • Скопировать первую часть вашего старого файла в новый файл
  • Записать новые данные в новый файл
  • Скопируйте оставшуюся часть старого файла в новый файл
  • При желании удалите / переименуйте старый файл и переименуйте новый файл, чтобы он теперь отображался в том же месте, что и старый файл
2 голосов
/ 10 августа 2011

Чтобы писать в определенном месте, руководствуясь указателем файла, вам нужно использовать класс RandomAccessFile .Но возиться с файловыми указателями немного сложно, есть ли какая-то причина, по которой вы хотите написать «текст» с использованием произвольного доступа?

Немного более подробной информации поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...