FileNameExtensionFilter 没有循环工作?

Bur*_*ras 0 java filter

我从 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());
            }
        }
Run Code Online (Sandbox Code Playgroud)

但我收到以下 FileNameExtensionFilter 异常

Exception in thread "main" java.lang.IllegalArgumentException: Extensions must be non-null and not empty
Run Code Online (Sandbox Code Playgroud)

然后我尝试了

i tried final FileNameExtensionFilter filter = new FileNameExtensionFilter(null, "pdf");

虽然它过滤 pdf 文件,但它也允许子文件夹

当我尝试添加其他参数时,过滤器允许所有文件

 final FileNameExtensionFilter filter = new FileNameExtensionFilter("csv", "pdf");
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

您没有将正确的参数传递给构造函数。具体来说,您缺少第一个参数description

描述是允许的null,所以如果你没有更好的东西可以放在那里,你可以使用

final FileNameExtensionFilter filter = new FileNameExtensionFilter(null, "pdf");
Run Code Online (Sandbox Code Playgroud)