java通过递归遍历一个文件夹下的所有文件和文件夹
时间: 2024-05-05 16:15:23 浏览: 166
以下是Java代码实现:
```java
import java.io.File;
public class TraverseFolder {
public static void main(String[] args) {
String folderPath = "C:\\Users\\username\\Desktop\\folder";
File folder = new File(folderPath);
traverseFolder(folder);
}
public static void traverseFolder(File folder) {
if (folder.isDirectory()) {
System.out.println("文件夹:" + folder.getName());
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
traverseFolder(file);
}
}
} else {
System.out.println("文件:" + folder.getName());
}
}
}
```
在该代码中,我们首先定义了一个`traverseFolder()`方法,该方法接受一个`File`对象作为参数,表示需要遍历的文件夹。在该方法中,我们首先判断该文件夹是否是文件夹类型,如果是,则输出该文件夹的名称,并通过`listFiles()`方法获取该文件夹下的所有文件和子文件夹。然后,我们使用一个循环遍历每个文件和子文件夹,对于每个文件和子文件夹,我们再次调用`traverseFolder()`方法,以递归方式遍历该文件夹下的所有文件和子文件夹。如果该对象不是文件夹类型,则直接输出该文件的名称。
最后,我们在`main()`方法中调用`traverseFolder()`方法,并传入需要遍历的文件夹的路径。运行该代码后,将会输出该文件夹下的所有文件和子文件夹的名称。
阅读全文