以下声明:
新文件(文件名);
将进程文件描述符与File对象相关联?试图搜索相同但没有任何成功。
理想情况下,它不应将文件描述符与File对象静态关联。每当执行函数调用时,文件描述符应该在执行函数调用的一段时间内与文件对象相关联。
任何帮助表示感谢。
答案 0 :(得分:3)
没有文件描述符,因为new File(filename)
没有打开文件。它只是一个易于操作的路径名表示。
文件描述符指的是打开的文件。未打开文件的事实并非显式documented,但它遵循的原则是最少的意外,并且没有列出与打开文件失败相对应的异常。
答案 1 :(得分:2)
不,new File(...)
只是表示文件名的对象,甚至没有检查是否存在具有此名称和/或路径的文件(或目录)。
答案 2 :(得分:0)
没有。您可以通过从jdk 1.6.0_22:
自行检查File类的来源来看到这一点public File(String pathname) {
if (pathname == null) {
throw new NullPointerException();
}
this.path = fs.normalize(pathname);
this.prefixLength = fs.prefixLength(this.path);
}
由于您可以使用尚不存在的路径调用File构造函数,并且由于File对象可以表示不存在的Files,因此无法将描述符与其关联。