黑马程序员技术交流社区

标题: 文件过滤中的疑问 [打印本页]

作者: 李贺晓    时间: 2012-12-10 16:31
标题: 文件过滤中的疑问
import java.io.*;
public class TestCollections {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  File f=new File("f:\\test\\day20");
  String[] namelist=f.list(new FilenameFilter()
    {
     public boolean accept(File dir,String name)
     {
      return  name.endsWith(".java") || new File(name).isDirectory();
     }
    });
  for(String name:namelist)
  {
   System.out.println(name);
  }
   }
}
|| new File(name).isDirectory()这句话在这里是什么意思,感觉不加这句话结果一样是正确的啊

作者: 王冬    时间: 2012-12-10 16:36
如果new File(name)不是一个目录,就没有意义了吧
作者: 李贺晓    时间: 2012-12-10 16:43
王冬 发表于 2012-12-10 16:36
如果new File(name)不是一个目录,就没有意义了吧

这里的new File(name)本来就不是目录,是一个文件啊,day21下面全部都是文件的
作者: 黑马黄涛    时间: 2012-12-10 18:47
new File(name).isDirectory()这句话在这里是什么意思,感觉不加这句话结果一样是正确的啊
呵呵,这句话的意思就是说以name为绝对路径的File对象是不是一个文件夹...
以上的代码把以.java命名的文件和文件夹找出来...
作者: 黑马黄涛    时间: 2012-12-10 18:48
放到一个list集合中...楼主可以在name路径下,添加一个文件夹,然后查看下加上那句话和不加那句话的区别....




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2