Найдите файл.
File file = new File("/path/to/file.txt");
Создайте временный файл (в противном случае сначала нужно прочитать все в память Java).
File temp = File.createTempFile("file", ".txt", file.getParentFile());
Определить кодировку.
String charset = "UTF-8";
Определите строку, которую вы хотите удалить.
String delete = "foo";
Откройте файл для чтения.
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
Откройте временный файл для записи.
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(temp), charset));
Чтение файла строка за строкой.
for (String line; (line = reader.readLine()) != null;) {
// ...
}
Удаление строки из строки.
line = line.replace(delete, "");
Запись ее во временный файл.
writer.println(line);
Закройте устройство чтения и записи (желательно в блоке finally
).
reader.close();
writer.close();
Удалите файл.
file.delete();
Переименуйте временный файл.
temp.renameTo(file);
См. Также: