回答@ jaco0646的最后一个问题:
使用
File.exists()特殊的文件打交道时 喜欢命名管道,插座或设备文件。
这些都不是普通的文件,也没有目录,也没有符号链接这样既
File.isFile()和
File.isDirectory()返回
false时
File.exists()将返回
true。例如
/dev/null(在Unix兼容的操作系统上)是一个设备文件。
从理论上讲,处理大量文件时 可能会出现 性能差异。这也取决于文件系统,JVM实现细节,操作系统等。
例如。在Android
File.exists()上通过使用
access()while
File.isFile()/
File.isDirectory()
use
系统调用实现
stat()。在这种情况下,处理
stat()输出需要比用户空间更多的逻辑
access()。



