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ブロックが例外をキャッチして処理します。