Java File 关于过滤的一个例子,对例子中的isDirectory()有疑问
public class FilenameFilterTest
{
public static void main(String[] args)
{
File file = new File(".");
String[] nameList = file.list(new MyFilenameFilter());
for(String name : nameList)
{
System.out.println(name);
}
}
}
// 实现自己的FilenameFilter实现类
class MyFilenameFilter implements FilenameFilter
{
public boolean accept(File dir, String name)
{
// 如果文件名以.java结尾,或者文件对应一个路径,返回true
return name.endsWith(".java")
|| new File(name).isDirectory();//对这个语句有疑问
}
}
当我把file的路径改成具体的某个路径时,只能输出“.java”的文件,而把路径设置为当前路径时,可以输出文件夹名称,请问这是为什么?另外当我用dir调用isDirectory()时,能输出有效路径下的所有文件。