求Java大神帮忙,我现在有一个文件夹下有多个json格式的txt文本,如何读取所有txt文本内容。

如题所述

对于一个包含多个.txt文件的文件夹,你可以使用递归方法来获取所有.txt文件的路径。下面是一个示例代码片段,展示如何遍历文件夹及其子文件夹,并读取所有.txt文件的内容。

首先,你需要一个方法来遍历文件夹及其子文件夹,该方法接收一个File对象作为参数,用于表示要遍历的文件夹。这个方法会检查当前文件夹下的每个文件或子文件夹。如果是文件夹,它会递归调用自身;如果是.txt文件,则会打印出文件路径。具体实现如下:

java
public void test(File f) {
File[] files = f.listFiles();
for (File file : files) {
File file2 = new File(file.getPath());
if (file2.isDirectory()) {
this.test(file2);
} else if (file.getName().endsWith(".txt")) {
System.out.println(file.getPath());
}
}
}

在这个示例中,我们首先获取当前文件夹下的所有文件和子文件夹。然后,我们遍历这些文件和文件夹。如果当前项是一个文件夹,我们递归地调用`test`方法。如果当前项是一个.txt文件,我们打印出其路径。

接下来,你需要使用`BufferedReader`来读取每个.txt文件的内容。假设你已经获得了所有.txt文件的路径,你可以使用以下代码片段来读取每个文件的内容:

java
public void readFiles() {
File directory = new File("path/to/your/directory");
test(directory);
File[] files = directory.listFiles((dir, name) -> name.endsWith(".txt"));
if (files != null) {
for (File file : files) {
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

在这个示例中,我们首先调用`test`方法来获取所有.txt文件的路径。然后,我们使用`listFiles`方法来获取所有.txt文件。接下来,我们遍历这些文件,并使用`BufferedReader`来读取每个文件的内容。

以上代码示例展示了如何使用Java递归遍历文件夹及其子文件夹,并读取所有.txt文件的内容。你可以根据自己的需求进行适当的修改。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜