java读取一个文件夹中所有的TXT文件然后将它们每一个TXT文件都进行清除空格和换行的处理并且判断当等于某个字符串时读取两行数据
时间: 2024-03-07 14:50:08 浏览: 111
java读TXT文件
可以使用Java的File类遍历文件夹中的所有TXT文件,然后使用前面提到的方法对每个TXT文件进行处理。遍历文件夹可以使用递归方式实现。
下面是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFolderOfTXT {
public static void main(String[] args) {
File folder = new File("folderPath"); // 指定文件夹路径
processFolder(folder);
}
private static void processFolder(File folder) {
for (File file : folder.listFiles()) {
if (file.isDirectory()) {
processFolder(file); // 如果是文件夹,则递归处理
} else {
if (file.getName().endsWith(".txt")) { // 如果是TXT文件,则处理
processFile(file);
}
}
}
}
private static void processFile(File file) {
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
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);
}
}
}
```
在这个示例中,我们指定了一个文件夹路径,并在main()方法中调用processFolder()方法来遍历文件夹中的所有文件。在processFolder()方法中,我们使用listFiles()方法获取文件夹中的所有文件和文件夹,并使用for循环遍历它们。如果是文件夹,则递归调用processFolder()方法。如果是TXT文件,则调用processFile()方法处理。
在processFile()方法中,我们使用BufferedReader类逐行读取TXT文件,并使用前面提到的方法对每行内容进行处理。然后,使用equals()方法判断line是否与指定字符串相等,如果相等,则输出prevLine和line的内容。最后,将line赋值给prevLine,以备下一次循环使用。
阅读全文