file类API问题,统计一个文件夹中每种文件的个数并打印。(考虑子文件夹) 打印格式如下:txt文件3个,doc文件4个,jpg文件6个
时间: 2024-10-19 16:04:16 浏览: 17
java中File类应用遍历文件夹下所有文件
5星 · 资源好评率100%
在Java中,你可以使用`java.io.File`类及其相关的`listFiles()`方法配合递归来遍历整个文件夹及其子文件夹,并统计不同类型的文件。下面是一个简单的示例代码,它会统计指定目录下.txt、.doc和.jpg文件的数量:
```java
import java.io.File;
import java.io.FilenameFilter;
public class FileCounter {
public static void main(String[] args) {
String directoryPath = "path/to/your/directory"; // 替换为你需要统计的文件夹路径
// 定义文件名过滤器,只筛选出.txt、.doc和.jpg文件
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt") || name.endsWith(".doc") || name.endsWith(".jpg");
}
};
try {
File folder = new File(directoryPath);
File[] files = folder.listFiles(filter);
if (files != null) {
int txtCount = 0, docCount = 0, jpgCount = 0;
for (File file : files) {
if (file.isFile()) {
if (file.getName().endsWith(".txt")) {
txtCount++;
} else if (file.getName().endsWith(".doc")) {
docCount++;
} else if (file.getName().endsWith(".jpg")) {
jpgCount++;
}
}
}
System.out.println("txt文件" + txtCount + "个,doc文件" + docCount + "个,jpg文件" + jpgCount + "个");
} else {
System.out.println("目录不存在或无法访问");
}
} catch (Exception e) {
System.err.println("文件操作异常:" + e.getMessage());
}
}
}
```
记得将`directoryPath`变量替换为实际的文件夹路径。运行这个程序后,它会在控制台按照给定的格式打印出每个文件类型的计数。
阅读全文