我知道我可以使用FileFilter界面来做我想做的事,但是我有一个练习,它以某种方式要求我使用FileNameFilter实现按大小过滤文件。
我这里有一个简单的代码,我提供了一个目录,该代码应该在技术上过滤该目录中的文件,并且只提供以“.exe”结尾且具有特定大小的文件。但是我无法使用大小过滤器,FileNameFilter因为它会检查我发送的目录的大小,而不是其中的文件。
我的 FileNameFilter 实现:
import java.io.File;
import java.io.FilenameFilter;
public class MyFileFilter implements FilenameFilter {
private String x;
private int size;
public MyFileFilter(String x, int size){
this.x = x;
this.size = size;
}
@Override
public boolean accept(File dir, String name) {
//i can't use the dir.length because it checks the size of the directory and not the inside files
return name.endsWith(x); // && dir.length() == size;
}
}
和主要:
File f = new File("C:\\Users\\Emucef\\Downloads\\Programs");
MyFileFilter mff = new MyFileFilter(".exe", 9142656);
File[] list = f.listFiles(mff);
所以基本上问题是:有没有办法使用按大小过滤文件FileNameFilter,如果是这样,如何?
万千封印
蓝山帝景
慕无忌1623718
相关分类