Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
isFile()的java文件也可以是isDirectory()吗?_Java_File - Fatal编程技术网

isFile()的java文件也可以是isDirectory()吗?

isFile()的java文件也可以是isDirectory()吗?,java,file,Java,File,以下测试通过: File aDir = new File("aDir"); assertTrue(aDir.exists()); assertTrue(aDir.isDirectory()); assertFalse(aDir.isFile()); File aFile = new File("aFile"); assertTrue(aFile.exists()); assertFalse(aFile.isDirectory());

以下测试通过:

    File aDir = new File("aDir");
    assertTrue(aDir.exists());
    assertTrue(aDir.isDirectory());
    assertFalse(aDir.isFile());

    File aFile = new File("aFile");
    assertTrue(aFile.exists());
    assertFalse(aFile.isDirectory());
    assertTrue(aFile.isFile());

    File awol = new File("notInFileSystem");
    assertFalse(awol.exists());
    assertFalse(awol.isDirectory());
    assertFalse(awol.isFile());
从表面上看,这似乎意味着对于所有
file.isFile()
为真的文件,
file.isDirectory()
为假。是否有任何已知类型的文件系统/文件类型/java平台不符合此假设


(在不同类别的文件(符号链接、连接点、符号链接/缺少目标的连接点等)之间存在各种各样的混乱,它们的行为可能略有不同)

看看JavaDoc,似乎总是这样:

ISD董事会:

当且仅当此抽象路径名表示的文件存在时为true 是一个目录;否则就错了

isFile:

当且仅当此抽象路径名表示的文件存在时为true 并且是一个普通文件;否则就错了 如果文件不是目录,则为正常文件,此外, 满足其他系统相关标准。任何非目录文件 由Java应用程序创建的文件保证为普通文件

从:

isFile()

测试此抽象路径名表示的文件是否为普通文件。如果文件不是目录,并且满足其他依赖于系统的条件,则该文件是正常的。Java应用程序创建的任何非目录文件都保证是普通文件

这显然意味着,如果
isFile()
true,则
isDirectory()
必须为false。根据
isDirectory()
doc中的措辞,反过来也是正确的