は、このコードを検討し、それを開いていた場合にのみ:二catchブロックでは、ストリームを閉じる
FileOutputStream stream=null;
ObjectOutputStream objStr=null;
try
{
stream=new FileOutputStream(defaultFile);
objStr=new ObjectOutputStream(stream);
objStr.writeObject(obj);
objStr.close();
}
catch(FileNotFoundException e)
{
System.out.println("Il file "+ defaultFile+ " non è stato trovato\n");
}
catch(IOException e)
{
stream.close();
System.out.println("Si è verificato un problema di I/O nell' apertura dello stream");
}
を、私はストリームを閉じるが、私はそれがクローズするかどうかわかりません。
ObjectOutputStreamのコンストラクタが失敗した場合、2番目のcatchに入りますが、この場合はFileOutputStreamが開いたままになっていますか?
すべての例外を処理するfinallyブロックを作成しますか?
すべてのケースを把握するのは難しいです。
ストリームをどこで閉じるのですか? –
@Ramy AI Zuhouri try-with-resourcesステートメントは、ブロックが終了したときにストリームを閉じます。私があなたに与えたリンクを読んでください。 – Jeffrey