Редактировать файлы одной строкой в ​​Java - PullRequest
2 голосов
/ 06 декабря 2010

Я пытаюсь отредактировать файл конфигурации в Java.Что мне действительно нужно сделать, так это изменить одну строку, поэтому чтение всего файла и его обратная запись будут пустой тратой времени, поскольку файл конфигурации может быть большим.

Есть ли более эффективный способ сделать это?За исключением чтения в / редактирование / выписывание файла.Я хочу преобразовать весь файл в строку, заменить нужную строку и записать ее обратно.

Я не знаю, насколько это будет эффективно, может кто-нибудь дать мне какие-то другие предложения или тот, который я упомянул, в порядке, время выполнения важно.

Ответы [ 2 ]

4 голосов
/ 06 декабря 2010

Я бы рекомендовал вместо этого использовать Preferences API . Затем на платформе Windows ваши предпочтения хранятся в реестре. На других платформах используется соответствующий способ сохранения настроек приложения. См. Также Обзор API настроек .

2 голосов
/ 06 декабря 2010

Насколько велик конфигурационный файл, о котором мы здесь говорим? 1к строк? 10k? 1м строк? Если строка, которую вы хотите отредактировать, является последней строкой, просто найдите начало строки, обрежьте там файл и напишите новый. Если это не так ... вам нужно будет прочитать его целиком и написать снова.

Да, и две упомянутые вами опции на самом деле одинаковы (чтение / редактирование / запись).

С третьей стороны, я думаю, что это не имеет значения (если у вас нет странных ограничений, таких как устройство флэш-памяти, которое занимает слишком много времени для записи и имеет ограниченные циклы записи), учитывая размеры большинства файлов конфигурации.

...