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

时间:2011-03-19 05:03:56

标签: java file-io

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

1 个答案:

答案 0 :(得分:21)

找到该文件。

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

另见: