在电脑上弄了个返回当前目录下所有文件和文件夹的程序发现有文件isDirectory()为false, isFile()也为false.有点疑惑,除了这两种还有其他情况吗

解决方案 »

  1.   

    路径写的e盘,用的递归去遍历的,每一个File都判断了isDirectory()和 isFile()然后else的.
    是一个很特殊的文件,我debug他执行到else了,前面两个条件都没满足..
    具体文件名现在不在自己机器记不住..
      

  2.   

       
    if(f.isDirectory()){}else if(f.isFile()){}else{
    System.out.println(f.getPath()+"不是文件也不是文件夹");
    }大概就是这样,程序运行正常.
    然后有个文件输出了else后的语句就是这个情况
      

  3.   

    WINDOWS的那些特殊文件吧
    {123-4123123-asdf}那种?
      

  4.   

    这个是
    E:\AUDIO_TS\autorun.inf\antiautorun..
    点击它显示引用了一个不可引用的位置
      

  5.   

    当File指向的文件或文件夹不存在时,会出现这种情况。
      

  6.   

    你建立一个con的目录试试,再试试e:和e:/的区别。仔细看看API。
      

  7.   

    f.isHidden(),看看是不是隐藏文件
      

  8.   

    你把name打出来,看到底是什么东西呀~
      

  9.   

    不存在的路径!不会抛出异常,为什么?因为File类就是为了描述路径信息的,什么时候需要描述不存在的路径,比如你需要调用mkdirs这个方法的时候
      

  10.   

    如果这个file在磁盘中真有存储,不是文件则为路径,没其它选项。