Java 遍历文件夹内每个文件夹的文件
在Java中,你可以使用java.nio.file
包中的Files
和DirectoryStream
类来遍历文件夹内的所有文件,包括子文件夹中的文件。以下是一个示例代码,展示了如何实现这个功能:
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
块中,以便捕获并处理可能发生的异常。