使用java 中nio 遍历递归遍历文件夹
时间: 2023-02-22 07:17:09 浏览: 111
您可以使用 Java NIO 的 Path 和 Files 类来递归遍历文件夹。下面是代码示例:
```
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class NIOFileTraverser {
public static void main(String[] args) throws IOException {
Path startPath = Paths.get("/path/to/start/folder");
traverse(startPath);
}
private static void traverse(Path path) throws IOException {
if (Files.isDirectory(path)) {
Files.newDirectoryStream(path).forEach(p -> {
try {
traverse(p);
} catch (IOException e) {
e.printStackTrace();
}
});
} else {
// handle file
System.out.println(path);
}
}
}
```
在这段代码中,我们首先定义了遍历的起点,然后通过调用 traverse() 方法来递归遍历文件夹。对于每个文件夹,我们使用 Files.newDirectoryStream() 方法来获取该文件夹中的所有内容,并对每个内容调用 traverse() 方法。对于文件,我们可以执行所需的处理,如在这种情况下,打印文件路径。
阅读全文