Bal*_*usC 21
找到该文件.
File file = new File("/path/to/file.txt");
Run Code Online (Sandbox Code Playgroud)
创建一个临时文件(否则你首先要将所有内容都读入Java的内存).
File temp = File.createTempFile("file", ".txt", file.getParentFile());
Run Code Online (Sandbox Code Playgroud)
确定字符集.
String charset = "UTF-8";
Run Code Online (Sandbox Code Playgroud)
确定要删除的字符串.
String delete = "foo";
Run Code Online (Sandbox Code Playgroud)
打开文件进行阅读.
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
Run Code Online (Sandbox Code Playgroud)
打开临时文件进行写入.
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(temp), charset));
Run Code Online (Sandbox Code Playgroud)
逐行读取文件.
for (String line; (line = reader.readLine()) != null;) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
从行中删除字符串.
line = line.replace(delete, "");
Run Code Online (Sandbox Code Playgroud)
将其写入临时文件.
writer.println(line);
Run Code Online (Sandbox Code Playgroud)
关闭阅读器和写入器(最好在finally块中).
reader.close();
writer.close();
Run Code Online (Sandbox Code Playgroud)
删除文件.
file.delete();
Run Code Online (Sandbox Code Playgroud)
重命名临时文件.
temp.renameTo(file);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28395 次 |
| 最近记录: |