w11java递归遍历目录
时间: 2023-10-14 21:24:55 浏览: 48
递归遍历目录可以使用Java的File类中的listFiles()方法和isDirectory()方法来实现。下面是一个示例代码:
```java
import java.io.File;
public class TraverseDirectory {
public static void main(String[] args) {
File file = new File("目录路径"); // 请将“目录路径”替换为你要遍历的目录路径
traverseDirectory(file);
}
public static void traverseDirectory(File file) {
if (file.isDirectory()) { // 判断是否为目录
File[] files = file.listFiles(); // 获取目录下的所有文件和子目录
if (files != null) {
for (File f : files) {
traverseDirectory(f); // 递归遍历子目录
}
}
} else {
System.out.println(file.getAbsolutePath()); // 输出文件路径
}
}
}
```
在以上代码中,traverseDirectory()方法实现了递归遍历目录的功能。首先判断传入的参数是否为目录,如果是目录,则获取它下面的所有文件和子目录,并递归调用traverseDirectory()方法遍历子目录。如果传入的参数不是目录,则输出它的路径。
需要注意的是,如果要遍历子目录,需要在遍历当前目录的文件之前调用traverseDirectory()方法。同时,为了避免空指针异常,需要在调用listFiles()方法之后判断返回的数组是否为空。