Eri*_*ric 4 java file count detect
我想要计算目录中有多少图像.我有一些来自互联网的代码的副本,可以检测目录中的总文件.
import java.io.*;
public class CountFilesInDirectory {
public static void main(String[] args) {
File f = new File("/home/pc3/Documents/ffmpeg_temp/");
int count = 0;
for (File file : f.listFiles()) {
if (file.isFile()) {
count++;
}
}
System.out.println("Number of files: " + count);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望计算一个特定的文件类型,如jpg/txt.我该怎么办?
改变这个
if (file.isFile()) {
count++;
}
Run Code Online (Sandbox Code Playgroud)
至
if (file.isFile() &&
(file.getName().endsWith(".txt") || file.getName().endsWith(".jpg"))) {
count++;
}
Run Code Online (Sandbox Code Playgroud)
这段代码的作用不仅仅是检查表示的实体是否file实际上是一个文件(而不是目录),你还要检查它的名称是否以你要查找的特定扩展名结尾
注意:您可以使用String.toLowerCase()方法在比较之前将名称转换为更准确.
更新(基于注释):对于更多OOP解决方案,您可以实现java.io.FilenameFilter接口并将其实例传递给f.listFiles()- 从而使您能够在程序的另一部分重用该过滤器而无需重复代码.如果使用此方法,则需要将endsWith逻辑移至FilenameFilter实现
| 归档时间: |
|
| 查看次数: |
3753 次 |
| 最近记录: |