日期:2014-05-20  浏览次数:20760 次

JAVA中java.io.File类的exists()方法效率如何?
我在试着写一个网络爬虫,现在不知道频繁使用new File(fileName).exists()查询文件是否存在是否可行。想知道java是怎么实现File类中的exists()方法的,是通过B树或者哈希表查询吗?效率如何?谢谢!
------解决方案--------------------
直接看源代码呗
static private FileSystem fs = FileSystem.getFileSystem();

public static native FileSystem getFileSystem();

return ((fs.getBooleanAttributes(this) & FileSystem.BA_EXISTS) != 0);

直接从jni上获取操作系统的属性来判断的
jdk方法基本不用担心效率的问题,开发java的大神们还木有这么弱吧