Java try-with-resources構文とは?使い方と注意点

Javaでは、try-with-resourcesはコードブロックの終了時にリソースを自動的に閉じるための構文です。try-with-resourcesを使用することで、プログラムが正しく終了時に開いているリソースを閉じることができます。たとえば、ファイル、ネットワーク接続、データベース接続などです。

try-with-resourcesを使用する構文は、以下の通りです:

try (资源的声明) {
    // 代码块
} catch (异常类型 变量) {
    // 异常处理
}

リソースの宣言部分はAutoCloseableインターフェースを実装する必要があり、そのためにコードブロックが終了するときに自動的にclose()メソッドが呼ばれてリソースが閉じられます。tryブロックが完了した後、例外が発生したかどうかに関係なく、リソースは自動的に閉じられます。

例えば、ファイルの内容を読み取るためにtry-with-resourcesを使用したコードは以下の通りです:

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

この場合、BufferedReaderはtryブロックが実行された後、自動的に閉じられます。close ()メソッドを手動で呼び出す必要はありません。ファイルの読み取り中にIO例外が発生した場合、catchブロックが例外をキャッチして処理します。

bannerAds