Как удалить строку из файла java
Ответы
Иван Полежаев
11 апреля 2023
Чтобы удалить строку из файла в Java
, вы можете использовать следующий подход:
- Создайте новый временный файл.
- Прочтите исходный файл построчно, пропуская строки, которые вы хотите удалить.
- Записывайте прочитанные строки во временный файл.
- Удалите исходный файл.
- Переименуйте временный файл в исходное имя файла.
Пример кода:
import java.io.*;
public class RemoveLineFromFile {
public static void main(String[] args) {
// имя файла
String fileName = "example.txt";
// строка, которую нужно удалить
String lineToRemove = "delete me";
try {
// создаем временный файл
File tempFile = new File("temp.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
// читаем исходный файл
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String currentLine;
while ((currentLine = reader.readLine()) != null) {
// если текущая строка не равна удаляемой
// записываем ее во временный файл
if (!currentLine.equals(lineToRemove)) {
writer.write(currentLine + System.getProperty("line.separator"));
}
}
// закрываем ридер и писатель
reader.close();
writer.close();
// удаляем исходный файл
File oldFile = new File(fileName);
oldFile.delete();
// переименовываем временный файл в исходное имя файла
tempFile.renameTo(oldFile);
System.out.println("Строка " + lineToRemove + " удалена из файла " + fileName);
} catch (IOException ex) {
System.out.println("Ошибка при удалении строки из файла " + fileName);
ex.printStackTrace();
}
}
}
Этот код удалит все строки с текстом "delete me" из файла "example.txt"
0
0