java io流 将文件夹下的所有文本文件显示出来,包括子文件夹下的文本文件
时间: 2024-09-20 22:05:45 浏览: 53
在Java中,你可以使用`java.io`包中的`File`, `BufferedReader`, 和 `Files` 类来遍历文件夹并读取其中的所有文本文件。以下是一个简单的示例,展示如何实现这个功能:
```java
import java.io.*;
import java.nio.file.*;
public class FileExplorer {
public static void listTextFiles(String folderPath) throws IOException {
// 指定要搜索的文件路径
Path path = Paths.get(folderPath);
// 使用Files.walk()方法递归遍历目录树
try (Stream<Path> files = Files.walk(path)) {
// 只选择名称结尾为.txt的文件
files.filter(Files::isRegularFile)
.filter(p -> p.toString().endsWith(".txt"))
.forEach(file -> {
try (BufferedReader reader = Files.newBufferedReader(file)) {
String line;
System.out.println("文件:" + file.getFileName());
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println("读取文件 " + file + " 时发生错误:" + e.getMessage());
}
});
}
}
public static void main(String[] args) {
// 替换为你想要探索的文件夹路径
listTextFiles("/path/to/your/directory");
}
}
```
这个程序会列出指定文件夹及其子文件夹下所有的`.txt`文件,并将内容打印到控制台。
阅读全文