Discuss / Java / 问一个简单的问题

问一个简单的问题

Topic source

  File[] fs2 = f.listFiles(new FilenameFilter() { // 仅列出.exe文件

            public boolean accept(File dir, String name) {

                return name.endsWith(".exe"); // 返回true表示接受该文件

            }

        })

上面代码中  accept()方法 是什么时候被调用执行的  

谢谢大佬回复解答

public File[] listFiles(FilenameFilter filter) {
String ss[] = normalizedList();
if (ss == null) return null;
ArrayList<File> files = new ArrayList<>();
for (String s : ss)
if ((filter == null) || filter.accept(this, s))
files.add(new File(s, this));
return files.toArray(new File[files.size()]);
}

listFiles 源码 我觉得 我和大佬的差距 就是 能否 看懂这个源码 

看的 头疼 可以跳过么。。。。

只需要记得  accept() 方法 返回值 为true 就表示 不过滤


  • 1

Reply