如何删除文本文件中的特定字符串?


问题内容

如何删除文本文件中的特定字符串?


问题答案:

找到文件。

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);

也可以看看: