javaでストリームを閉じる方法は?

Java においてストリームを閉じるメソッドは以下のとおりです。

  1. try-finally構文を使用して、finallyブロック内でストリームを閉じましょう。これは最も一般的なストリームクロージャの手法で、プログラムの実行を確実に完了し、リソースがリークしないようにします。
InputStream is = null;
try {
    is = new FileInputStream("file.txt");
    // 使用流进行读取操作
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (is != null) {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. try-with-resources文を使用し、tryブロックでストリームオブジェクトを作成し、ブロック内ですべてのストリームオブジェクトが終了時に自動的に閉じられるよう宣言します。
try (InputStream is = new FileInputStream("file.txt")) {
    // 使用流进行读取操作
} catch (IOException e) {
    e.printStackTrace();
}
  1. try-with-resources ステートメントを使用する方法では括弧内にもストリームオブジェクトを宣言しますが、複数宣言することができ、その場合はセミコロンで区切ります。
try (InputStream is = new FileInputStream("file.txt");
     OutputStream os = new FileOutputStream("output.txt")) {
    // 使用流进行读写操作
} catch (IOException e) {
    e.printStackTrace();
}

Java 7 以降では、try-with-resources 文の使用が推奨されています。これにより、コードが簡潔になり、確実にストリームを閉じることで、ストリームを閉じるのを忘れる問題を防ぐことができます。

bannerAds