java关闭文件 - java流关闭




为什么java.io.File没有close()方法? (4)

BufferedReader可以打开和关闭,但File永远不会打开,它只是表示文件系统中的路径。

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

谢谢!


File类的javadoc将类描述为:

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

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

(我个人的观点是,Sun很不幸地创建了RandomAccessFile ,导致了与其不一致的命名混淆。)


假设你有File f = new File(“SomeFile”); f.length(); 您不需要关闭文件,因为它只是路径的表示。 你应该总是考虑关闭只读者/作家和事实上的流。


本质上,随机访问文件包装输入和输出流以管理随机访问。 您不打开和关闭文件,您打开并关闭文件流。







file-io