try-with-resources (AutoCloseable)
Gunakan try-with-resources dan AutoCloseable untuk mengelola sumber daya dengan aman.
try-with-resources (AutoCloseable) adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 3 pelajaran total.
Pendahuluan
Sumber daya seperti berkas atau soket perlu ditutup. try-dengan-sumber daya menutupnya secara otomatis jika sumber daya tersebut mengimplementasikan AutoCloseable.
Konsep AutoCloseable
Kelas apa pun yang mengimplementasikan AutoCloseable dapat digunakan. Contoh yang umum mencakup FileReader, BufferedReader, dan koneksi JDBC.
Kode: penutupan otomatis FileReader
FileReader ini ditutup secara otomatis setelah blok try berakhir, bahkan jika terjadi pengecualian.
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());
}
}
}
Beberapa sumber daya
Anda dapat membuka beberapa sumber daya dalam satu try. Sumber daya tersebut akan ditutup secara otomatis dalam urutan terbalik.
Kode: dua sumber daya
Baik BufferedReader maupun PrintWriter ditutup secara otomatis, dalam urutan terbalik dari pembuatannya.
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());
}
}
}
Kode: AutoCloseable khusus
Anda dapat mengimplementasikan AutoCloseable sendiri. Metode close() akan dipanggil secara otomatis.
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();
}
}
}
Pemeriksaan try-dengan-sumber daya
Pemeriksaan singkat: Apa manfaat utama try-dengan-sumber daya?
Ringkasan
Ringkasan: try-dengan-sumber daya bekerja dengan AutoCloseable. Fitur ini memastikan pembersihan berkas, aliran, dan sumber daya khusus berlangsung dengan aman.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “try-with-resources (AutoCloseable)” gratis?
Ya — teks lengkap “try-with-resources (AutoCloseable)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “try-with-resources (AutoCloseable)”?
Gunakan try-with-resources dan AutoCloseable untuk mengelola sumber daya dengan aman. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.
Berapa lama pelajaran “try-with-resources (AutoCloseable)” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Melemparkan dan Membuat Pengecualian Khusus
- try-with-resources (AutoCloseable)
- Pemrograman Defensif