虽然java.io.RandomAccessFile确实有一种close()方法java.io.File没有.这是为什么?文件是否在最终确定时自动关闭?
谢谢!
biz*_*lop 134
File该类的javadoc将该类描述为:
文件和目录路径名的抽象表示.
File只是路径名的表示,有一些关于文件系统(如exists())和目录处理的方法,但实际的流输入和输出是在其他地方完成的.流可以打开和关闭,文件不能.
(我个人的观点是,Sun继续创建它是相当不幸的RandomAccessFile,导致其不一致的命名引起很多混淆.)
axt*_*avt 66
java.io.File不表示打开的文件,它表示文件系统中的路径.因此,close对它采用方法没有意义.
实际上,这个类被图书馆作者误称,它应该被称为类似的Path.
假设你有
File f = new File("SomeFile");
f.length();
Run Code Online (Sandbox Code Playgroud)
您不需要关闭Files,因为它只是路径的表示。
您应该始终考虑仅关闭读取器/写入器以及实际上的流。