File.isFile()并且File.isDirectory()两者都不仅在File不是指定类型时返回false ,而且File在文件系统上本身不存在时返回false .如何File在不存在的情况下确定代表文件或目录?
Mik*_*uno 10
通常,特定路径可以表示目录和文件.在该路径中创建目录或文件之前,它对于其中一个或另一个的概念是无效的.
然而,有一个特例.如果路径以路径分隔符结束(在类Unix系统上为'/',在Windows上为'\',在其他系统上可能完全不同),那么至少在类Unix系统上,路径不能是文件的路径.我不知道这对所有系统是否有效.
你的问题就像问这个:
"如果这个盒子里面只有一只猫或一只狗,它怎么能判断它?"
从表面上看,这个问题是荒谬的,你的也是如此.如果文件是路径是指不存在的文件系统对象(即"无"),则询问"无">>是"文件还是目录"是没有意义的.这显然不是.
具体来说,在任何时刻,以下所有谓词都包含:
file.exists() == false IMPLIES
file.isDirectory() == false AND file.isFile() == false
file.isDirectory() == true OR file.isFile() == true IMPLIES
file.exists() == true
file.isDirectory() == true IMPLIES
file.isFile() == false
file.isFile() == true IMPLIES
file.isDirectory() == false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9742 次 |
| 最近记录: |