问题

虽然java.io.RandomAccessFile有aclose()方法java.io.File但没有。这是为什么?文件是否在最终确定时自动关闭?

谢谢!


#1 热门回答(113 赞)

theFileclass的javadoc将该类描述为:

文件和目录路径名的抽象表示。

File只是路径名的表示,有一些与文件系统有关的方法(如exists())和目录处理,但实际的流输入和输出是在其他地方完成的。流可以打开和关闭,文件不能。

(我个人的观点是,相当不幸的是Sun继续创建RandomAccessFile,导致其不一致的命名混淆不清。)


#2 热门回答(56 赞)

java.io.File不代表anopenfile,它代表文件系统中的路径。因此,拥有close方法没有意义。

实际上,这个类被图书馆作者误称,它应该被称为Path


#3 热门回答(6 赞)

基本上随机的访问文件包装输入和输出流以便管理随机访问。你不打开和关闭文件,打开和关闭文件的流。


原文链接