2011-11-21 20 views
11

私はディレクトリにたくさんのファイルを持っているでしょう。私はちょうどFile.getName()を使用してファイル名を取得し、それらをログファイルに記録するでしょう。私は、ファイルの読み取り/書き込み操作をしていないので、ファイルを閉じる必要はありません。File.getName()を実行するファイルを閉じる必要がありますか?

これは間違いありませんか?

+0

近いことが必要ではありません。 – bjarneh

+0

ディレクトリにファイルをリストする場合は、['File#list()'](http://download.oracle.com/javase/6/docs/api/java/io/File.html)を使用してください。 #list%28%29) – MByD

+0

ファイルを開く場合、ファイルを閉じる必要がありますが、 'File'クラスは開いているファイルを表していないので、単にパスを表しています。 – Wyzard

答えて

29

基本的にパスの表現であるため、Fileを閉じる必要はありません。ストリームとリーダ/ライターのみ。実際にはFileにはclose()メソッドがありません。

1

これは正しいです。なお、File.close()メソッドはありません。

0

はい、正しいです。 FileInputStreamまたはFileOutputStreamを作成してファイルを開くときは、最後にストリームを閉じる必要があります。 Java APIの

5
Only resources needed to be close. 

インタフェースCloseable Interfaceがあり、これらのクラスは、彼らが使用後に近くする必要があり、このインタフェースを実装しています。近く

close() //method is in that interface.. 

と使用

It closes the stream and releases any system resources associated with it. 
If the stream is already closed then invoking this method has no effect. 

Fileで正確であること

関連する問題