Замена строки в файле другой строкой - PullRequest
1 голос
/ 22 февраля 2011

Какой самый быстрый способ выполнить поиск и заменить строку в существующем файле с использованием Java?

Допустим, у меня есть следующее:

// This references an existing file 
File file = ...

Файл, о котором идет речь, выглядиткак это:

The Green Dog is furry.
It likes to run in the Green Grass.
Green is its favorite color.

Как мне заменить строку «Зеленый» на «Синий» и повторно сохранить этот файл с новым цветом?

Обновление: Я подумал об этом немного больше, и, возможно, лучший и самый быстрый способ - просто прочитать содержимое файла в строку (используя что-то вроде FileUtils), а затем просто выполнить замену и перезаписать файл

1 Ответ

4 голосов
/ 22 февраля 2011

Посмотрите на Получение и замена номера в текстовом файле , который в значительной степени совпадает.

Редактировать: Что касается вашего обновления, я бы просто использовал BufferedReader и BufferedWriter и оставил его дляJVM для оптимизации чтения / записи, т.е. я бы делал замены в потоковом режиме.Предлагаемое вами решение чтения в память может быть немного быстрее, но я бы не стал читать все в памяти (делает подход не масштабируемым), если на то нет веской причины.

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