创建新的File(filename)对象是否将进程文件描述符与对象相关联?

时间:2011-02-17 14:55:39

标签: java file operating-system

以下声明:

新文件(文件名);

将进程文件描述符与File对象相关联?试图搜索相同但没有任何成功。

理想情况下,它不应将文件描述符与File对象静态关联。每当执行函数调用时,文件描述符应该在执行函数调用的一段时间内与文件对象相关联。

任何帮助表示感谢。

3 个答案:

答案 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,因此无法将描述符与其关联。