如何删除文本文件中的特定字符串?
最佳答案
找到该文件。
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
block 中)。
reader.close();
writer.close();
删除文件。
file.delete();
重命名临时文件。
temp.renameTo(file);
另请参阅:
关于java - 如何删除文本文件中的特定字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360209/