如何删除文本文件中的特定字符串?
如何删除文本文件中的特定字符串?
找到该文件。
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);
也可以看看:
- Java教程 – 课程:基本I / O.
我非常喜欢@BalusC给出的答案。 除此之外,您还可以参考以下链接中的工作示例: – String Pattern Remover