java 遍历 文件夹

曾经终败给现在 2024-03-02 03:56 143阅读 0赞

在Java中遍历文件夹可以使用java.io.File类或者java.nio.file包中的Files和Paths类来完成。以下是两种方法的示例:

使用java.io.File类:

import java.io.File;

public class FileTraversal {

public static void main(String[] args) {

// 指定要遍历的文件夹路径

File folder = new File(“/path/to/your/folder”);

// 调用递归方法来遍历文件夹

traverseFolder(folder);

}

public static void traverseFolder(File folder) {

if (folder.isDirectory()) {

System.out.println(“文件夹:” + folder.getAbsolutePath());

File[] files = folder.listFiles();

if (files != null) {

for (File file : files) {

if (file.isDirectory()) {

traverseFolder(file); // 递归遍历子文件夹

} else {

System.out.println(“文件:” + file.getAbsolutePath());

}

}

}

} else {

System.out.println(“指定的路径不是一个文件夹”);

}

}

}

使用java.nio.file包:

import java.io.IOException;

import java.nio.file.FileVisitOption;

import java.nio.file.FileVisitResult;

import java.nio.file.Files;

import java.nio.file.Path;

import java.nio.file.Paths;

import java.nio.file.SimpleFileVisitor;

import java.nio.file.attribute.BasicFileAttributes;

import java.util.EnumSet;

public class FileTraversal {

public static void main(String[] args) throws IOException {

// 指定要遍历的文件夹路径

Path folder = Paths.get(“/path/to/your/folder”);

// 使用Files.walkFileTree()方法遍历文件夹

Files.walkFileTree(folder, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, new SimpleFileVisitor() {

@Override

public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

System.out.println(“文件:” + file.toAbsolutePath());

return FileVisitResult.CONTINUE;

}

@Override

public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {

System.out.println(“文件夹:” + dir.toAbsolutePath());

return FileVisitResult.CONTINUE;

}

});

}

}

请替换示例中的/path/to/your/folder为你要遍历的文件夹的实际路径。这些示例将递归地遍历文件夹中的所有文件和子文件夹,并输出它们的路径。

发表评论

表情:
评论列表 (有 0 条评论,143人围观)

还没有评论,来说两句吧...

相关阅读