java逐行读取文件并将多个连续的换行符替换成一个换行符
时间: 2024-01-23 09:04:09 浏览: 87
可以在读取每一行后,使用正则表达式将多个连续的换行符替换成一个换行符,示例如下:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLine {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("path/to/file.txt"));
String line;
while ((line = reader.readLine()) != null) {
// 替换多个连续的换行符为一个换行符
line = line.replaceAll("(\r\n|\r|\n)+", "\n");
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
在这个示例代码中,我们使用了replaceAll()方法,将每行中多个连续的换行符替换成一个换行符。注意,这里的正则表达式 `(\r\n|\r|\n)+` 匹配的是一个或多个连续的回车符和换行符,其中 `\r\n` 匹配 Windows 系统中的换行符,`\r` 匹配老的 Mac OS 系统中的换行符,`\n` 匹配 Unix/Linux 系统中的换行符。
阅读全文