BufferedReader 读取大文件 且 replaceAll 替换
时间: 2023-09-08 18:12:25 浏览: 52
您好!使用BufferedReader读取大文件并进行replaceAll替换的示例代码如下:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.FileReader;
import java.io;
import java.io.IOException;
class ReplaceInLargeFile public static void main(String[] args) throws IOException {
String sourceFilePath = "path/to/large/file.txt";
String destFilePath = "path/to/new/file.txt";
String oldString = "old string";
String newString = "new string";
try (BufferedReader reader = new BufferedReader(new FileReader(sourceFilePath));
BufferedWriter writer = new BufferedWriter(new FileWriter(destFilePath))) {
String line;
while ((line = reader.readLine()) != null) {
String replacedLine = line.replaceAll(oldString, newString);
writer.write(replacedLine);
writer.newLine();
}
}
}
}
```
在上述代码中,我们先创建BufferedReader和BufferedWriter对象,分别表示读取的大文件和写入的新文件。然后,定义要替换的旧字符串和新字符串。在while循环中,每次读取一行数据,并使用replaceAll方法将旧字符串替换为新字符串,得到替换后的新行。最后,将新行写入目标文件,并添加换行符。
需要注意的是,使用BufferedReader读取大文件时,建议每次读取一行数据,而不是一次性读取整个文件。这样可以避免一次性将整个文件加载到内存中造成内存溢出的问题。
希望能帮到您!