java 编写程序列出一个目录下所有的文件,包括所有子目录下的文件,并打印出文件总数
时间: 2023-11-26 15:03:33 浏览: 71
可以使用递归的方式来实现该需求。以下是 Java 代码示例:
```java
import java.io.File;
public class ListFiles {
public static void main(String[] args) {
File directory = new File("path/to/directory"); // 指定目录路径
int fileCount = listFiles(directory); // 列出目录下所有文件并统计文件总数
System.out.println("Total number of files: " + fileCount);
}
public static int listFiles(File directory) {
int fileCount = 0;
File[] files = directory.listFiles(); // 获取目录下所有文件和子目录
for (File file : files) {
if (file.isFile()) { // 如果是文件,则打印文件名并统计文件总数
System.out.println(file.getName());
fileCount++;
} else if (file.isDirectory()) { // 如果是目录,则递归调用 listFiles 方法
fileCount += listFiles(file); // 累加子目录下的文件总数
}
}
return fileCount;
}
}
```
需要注意的是,你需要将代码中的 `path/to/directory` 替换为实际的目录路径。
阅读全文