设计一个Java程序:完成:统计指定文件夹下的子文件夹的总数(如:文件夹abc下有子文件夹de,de下有文件夹ef,则de和ef都计算在内)、文件总数、文件总的空间大小。 输入界面: 请输入一个文件夹(如:c:/abc): 输出界面: 文件夹****下的子文件夹的总数:**** 文件总数:***** 文件总的空间:***** 字节
时间: 2023-07-23 15:26:11 浏览: 106
以下是一个能够实现您要求的 Java 程序:
```java
import java.io.File;
public class FolderStats {
public static void main(String[] args) {
// 输入文件夹路径
String folderPath = "c:/abc";
// 创建文件对象
File folder = new File(folderPath);
// 检查文件夹是否存在
if (!folder.exists() || !folder.isDirectory()) {
System.out.println("文件夹不存在或不是一个文件夹!");
return;
}
// 初始化统计数据
int subFolderCount = 0;
int fileCount = 0;
long totalSize = 0;
// 统计文件夹数据
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
subFolderCount++;
// 递归处理子文件夹
subFolderStats(file, subFolderCount, fileCount, totalSize);
} else {
fileCount++;
totalSize += file.length();
}
}
// 输出统计结果
System.out.println("文件夹" + folder.getName() + "下的子文件夹的总数:" + subFolderCount);
System.out.println("文件总数:" + fileCount);
System.out.println("文件总的空间:" + totalSize + " 字节");
}
private static void subFolderStats(File folder, int subFolderCount, int fileCount, long totalSize) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
subFolderCount++;
subFolderStats(file, subFolderCount, fileCount, totalSize);
} else {
fileCount++;
totalSize += file.length();
}
}
}
}
```
您可以将上述代码复制到 Java 代码编辑器中进行编译和运行。在运行程序时,只需将 `folderPath` 变量的值更改为指定的文件夹路径即可。
阅读全文
相关推荐


















