try-with-resources (AutoCloseable)
Verwenden Sie try-with-resources und AutoCloseable, um Ressourcen sicher zu verwalten.
try-with-resources (AutoCloseable) ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Einführung
Ressourcen wie Dateien oder Sockets müssen geschlossen werden. try-with-resources schließt sie automatisch, wenn sie AutoCloseable implementieren.
AutoCloseable-Konzept
Jede Klasse, die AutoCloseable implementiert, kann verwendet werden. Häufige Beispiele sind FileReader, BufferedReader und JDBC-Verbindungen.
Code: FileReader automatisch schließen
Dieser FileReader wird automatisch geschlossen, sobald der try-Block endet, selbst wenn eine Ausnahme auftritt.
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());
}
}
}
Mehrere Ressourcen
Sie können mehrere Ressourcen in einem try öffnen. Sie werden automatisch in umgekehrter Reihenfolge geschlossen.
Code: zwei Ressourcen
Sowohl BufferedReader als auch PrintWriter werden automatisch in umgekehrter Reihenfolge ihrer Erstellung geschlossen.
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());
}
}
}
Code: eigenes AutoCloseable
Sie können AutoCloseable selbst implementieren. Die Methode close() wird automatisch aufgerufen.
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-Check
Kurzer Check: Was ist der wichtigste Vorteil von try-with-resources?
Zusammenfassung
Zusammenfassung: try-with-resources funktioniert mit AutoCloseable. Es sorgt für das sichere Aufräumen von Dateien, Streams und eigenen Ressourcen.
Lerne Java mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 104
- Lektionen
- 374
Häufig gestellte Fragen
Ist die Lektion „try-with-resources (AutoCloseable)“ kostenlos?
Ja — der vollständige Text von „try-with-resources (AutoCloseable)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „try-with-resources (AutoCloseable)“?
Verwenden Sie try-with-resources und AutoCloseable, um Ressourcen sicher zu verwalten. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „try-with-resources (AutoCloseable)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Exceptions auslösen und eigene Exceptions
- try-with-resources (AutoCloseable)
- Defensive Programmierung