Java 遍历文件夹内每个文件夹的文件

在Java中,你可以使用java.nio.file包中的FilesDirectoryStream类来遍历文件夹内的所有文件,包括子文件夹中的文件。以下是一个示例代码,展示了如何实现这个功能:

import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;

public class TraverseDirectory {

    public static void main(String[] args) {
        // 指定要遍历的根目录路径
        Path rootPath = Paths.get("path/to/your/root/directory");

        // 遍历根目录下的所有文件和文件夹
        try {
            Files.walk(rootPath)
                  .filter(Files::isRegularFile) // 过滤出普通文件
                  .forEach(path -> {
                      System.out.println(path); // 打印文件路径
                  });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

在这个例子中,Files.walk方法用于遍历给定路径(rootPath)下的所有文件和子目录。filter(Files::isRegularFile)是一个中间操作,它过滤出所有普通文件(即非目录文件)。forEach方法接受一个Lambda表达式,用于对每个文件路径执行操作,这里我们简单地打印出每个文件的路径。

请确保在运行这段代码之前,你已经将"path/to/your/root/directory"替换为你实际想要遍历的目录路径。如果你也想处理目录,可以移除.filter(Files::isRegularFile)这一行,这样就会遍历所有文件和目录。

由于文件操作可能会抛出IOException,所以整个操作被包裹在一个try-catch块中,以便捕获并处理可能发生的异常。

 

posted @ 2024-03-11 14:58  深水是沉默  阅读(411)  评论(0编辑  收藏  举报