1. ホーム
  2. java

[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?

2022-01-24 14:59:39

質問

一方 java.io.RandomAccessFileclose() メソッド java.io.File はしません。なぜでしょうか?ファイナライズ時に自動的にファイルが閉じられたりするのでしょうか?

解決方法を教えてください。

のjavadocは File クラスは次のように記述されています。

ファイルやディレクトリのパス名を抽象的に表現したものです。

File はパス名を表現しているだけで、ファイルシステムに関するいくつかのメソッド(例えば exists() ) とディレクトリの処理を行いますが、実際のストリーミングの入出力は別の場所で行われます。ストリームは開いたり閉じたりすることができますが、ファイルはできません。

(個人的な意見としては、Sunがその後に作った RandomAccessFile その一貫性のない命名で多くの混乱を引き起こした)