0Pricing
Java Academy · レッスン

try-with-resources(AutoCloseable)

try-with-resourcesとAutoCloseableを使って、リソースを安全に管理します。

「try-with-resources(AutoCloseable)」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

導入

ファイルやソケットなどのリソースは閉じる必要があります。try-with-resourcesを使うと、AutoCloseableを実装しているリソースが自動的に閉じられます。

AutoCloseableの概念

AutoCloseableを実装するクラスは、どれでも使用できます。一般的なものには、FileReader、BufferedReader、JDBC接続があります。

コード: FileReaderの自動クローズ

このFileReaderは、例外が発生した場合でも、tryブロックの終了後に自動的に閉じられます。

public class Main {
  public static void main(String[] args) {
    try (java.io.FileReader fr = new java.io.FileReader("test.txt")) {
      int ch = fr.read();
      System.out.println("First char code=" + ch);
    } catch (java.io.IOException e) {
      System.out.println("Error: " + e.getMessage());
    }
  }
}

複数のリソース

1つのtryで複数のリソースを開けます。これらは自動的に、逆の順序で閉じられます。

コード: 2つのリソース

BufferedReaderとPrintWriterはどちらも、作成した順序とは逆の順序で自動的に閉じられます。

public class Main {
  public static void main(String[] args) {
    try (java.io.BufferedReader br = new java.io.BufferedReader(new java.io.FileReader("test.txt"));
         java.io.PrintWriter pw = new java.io.PrintWriter("out.txt")) {
      String line = br.readLine();
      pw.println(line);
    } catch (java.io.IOException e) {
      System.out.println("Error: " + e.getMessage());
    }
  }
}

コード: カスタムAutoCloseable

AutoCloseableは自分で実装することもできます。close()メソッドが自動的に呼び出されます。

public class Main {
  static class MyRes implements AutoCloseable {
    public void use() { System.out.println("Using resource"); }
    public void close() { System.out.println("Closed resource"); }
  }
  public static void main(String[] args) {
    try (MyRes r = new MyRes()) {
      r.use();
    }
  }
}

try-with-resourcesの確認

クイックチェック:try-with-resourcesの主な利点は何ですか。

まとめ

まとめ:try-with-resourcesはAutoCloseableとともに使用します。ファイル、ストリーム、カスタムリソースを安全に後処理できます。

よくある質問

「try-with-resources(AutoCloseable)」レッスンは無料ですか?

はい。「try-with-resources(AutoCloseable)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「try-with-resources(AutoCloseable)」で何を学びますか?

try-with-resourcesとAutoCloseableを使って、リソースを安全に管理します。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。

「try-with-resources(AutoCloseable)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 例外のスローとカスタム例外
  2. try-with-resources(AutoCloseable)
  3. 防御的プログラミング
← Java Academyに戻る