我从BorisTheSpider获得了以下代码(感谢他,循环非常完美):
final FileNameExtensionFilter filter = new FileNameExtensionFilter("pdf");
final File path = new File (pathToFiles);
for (final File child: path.listFiles()) {
if (filter.accept(child)) {
claimArrayList.add(child.getName());
System.out.println(child.getName());
}
}
但是我得到FileNameExtensionFilter的以下异常
Exception in thread "main" java.lang.IllegalArgumentException: Extensions must be non-null and not empty
然后我尝试
i tried final FileNameExtensionFilter filter = new FileNameExtensionFilter(null, "pdf");
尽管它过滤pdf文件,但也允许子文件夹
当我尝试添加其他参数时,过滤器会允许所有文件
final FileNameExtensionFilter filter = new FileNameExtensionFilter("csv", "pdf");
最佳答案
您没有将正确的参数传递给constructor。具体来说,您缺少第一个参数description
。
描述可以是null
,因此,如果没有更好的描述,可以使用
final FileNameExtensionFilter filter = new FileNameExtensionFilter(null, "pdf");
关于java - FileNameExtensionFilter无法循环工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19191166/