java逐行读取TXT文件清除所以空格和换行并判断如果等于一个字符串就连续读取两行
时间: 2024-03-07 08:50:06 浏览: 71
可以使用Java的BufferedReader类逐行读取TXT文件,并使用String类的trim()方法去除前后空格和replaceAll()方法去除所有空格和换行符。在读取每行内容时,可以使用String类的equals()方法判断是否与指定字符串相等,如果相等,则可以连续读取两行。
下面是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLine {
public static void main(String[] args) {
String fileName = "file.txt";
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
String prevLine = "";
while ((line = br.readLine()) != null) {
line = line.trim().replaceAll("\\s+", ""); // 去除前后空格和所有空格和换行符
if (line.equals("targetString")) { // 判断是否与指定字符串相等
System.out.println(prevLine + line); // 输出连续两行的内容
}
prevLine = line;
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
}
}
```
在这个示例中,我们使用了try-with-resources语法来确保在读取完文件后,文件流会被自动关闭。我们创建了一个BufferedReader对象,并将其包装在一个FileReader中,从而实现了逐行读取TXT文件。在while循环中,我们使用trim()方法去除前后空格,使用replaceAll()方法去除所有空格和换行符,并将其赋值给line变量。然后,使用equals()方法判断line是否与指定字符串相等,如果相等,则输出prevLine和line的内容。最后,将line赋值给prevLine,以备下一次循环使用。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)