私のコードは次のとおりです。ドキュメントでJavaでInputStreamを閉じる必要はありますか?
InputStream confFile=classLoader.getResourceAsStream("myconffile.properties");
:
InputStreamのcloseメソッドは何もしません。それは私が近いInputStreamを必要としないことを
を意味するのでしょうか?
私のコードは次のとおりです。ドキュメントでJavaでInputStreamを閉じる必要はありますか?
InputStream confFile=classLoader.getResourceAsStream("myconffile.properties");
:
InputStreamのcloseメソッドは何もしません。それは私が近いInputStreamを必要としないことを
を意味するのでしょうか?
あなたが言及したメソッドによって返されるストリームは、実際にはファイルのハンドルを保持するFileInputStreamまたはInputStream
のその他のサブクラスであるため、入力ストリームを閉じる必要があります。このストリームを閉じなければ、リソースが漏れてしまいます。
いいえ、それはそれを意味するものではありません - InputStream
は抽象クラスであるため、そしてgetResourceAsStream()
は、そのclose()
方法何かない具象サブクラスを返します - 最も重要なのは無料のファイルハンドルを。
ほとんどの場合、FileInputStreamとは思えません。 –
私は、残念ながら、現時点では手元にJavaインスタンスがないことを調査する必要があります。しかし、私はそれがファイルハンドルを保持していることに同意します。 –
finalize()メソッドはリソースストリームを閉じませんか? –