Font#loadFont
のドキュメントを見て、私はこの言葉に出くわした:なぜ `loadFont`は入力ストリームを閉じませんか?私はそれを閉じなければならない?
このメソッドは、入力ストリームを閉じません。
残念ながら、これは説明したりすると拡大されていません。だから私の質問は次のとおりです:
APIが入力ストリームを閉じることができない理由は何ですか?ストリームを再利用したいのですか? 私は主にこのように、このメソッドを使用します。
Font.loadFont(getClass().getResourceAsStream("path/to/font"), 13.0);
はフォントが自分のアプリケーションのために利用可能であることを確認するために、私は決して、入力ストリームを再使用していない、と私は本当に私がしたい理由を考えることはできませんをしたい。
- 私は入力は自分自身をストリーミング閉じるべきでしょうか?私が入力ストリームを閉じていないと、何か問題があると思いますか? は、過去に私はしばらく他の人がフォントに問題が(同じシーンに!)、このフォントで構成されたいくつかのラベルは正方形を示し始め、このように、ロードされた細かい作業に保たなければなりませんでした。これは入力ストリームを閉じないことに関連していますか?
それはあなたが開かなかったストリームを閉じるべきではありません親指の良いルールです。この場合、メソッドはそれをオープンしないので、メソッドも閉じません。たとえば、標準入力ストリームを渡すことができない理由はありません。メソッドがパラメータストリームを閉じた場合は、後で別の処理を行うために開いておく必要がある場合は、詰め込みます。 –
そして、いいえ、あなたは自分でそれを閉じてはいけません。 –
@AndyTurner - try-with-resourcesを使用することは、それを自分で閉じることと同じです。構文的な砂糖だけです。私が意味することは、私がそれを閉じることに責任があるか、それを開いて決してそれを閉じることは正当であるかどうかです。 – Itai