这段代码的目的是在遍历某目录下所有文件(包括子文件)同时设置时过滤器的方法。
比如比如便利所有文件,过滤出结尾含有".pdf"的。代码如下。不知道哪里有问题,测试也无法达到预期目的


耽误各位宝贵时间了,非常感谢!
------解决思路----------------------
public class demo_5 {
public static void main(String[] args) {
File f5 = new File("F:\\论文\\中国知网论文\\中国知网论文");
listAll(f5);
}
public static void listAll(File x) {
// method 1
File[] file = x.listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isDirectory()) {
listAll(file[i]);
} else if (file[i].getName().endsWith(".pdf")) {
System.out.println(file[i].getName() + " " + file[i]);
}
else
continue;
}
System.out.println("==================================");
// method2
FilterByName filter = new FilterByName();
String[] files = x.list(filter);
for(String a:files){
System.out.println(a);
}
}
}
class FilterByName implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".pdf");
}
}