Java try-with-resources
Java resurslarni yopish
Fayllar, oqimlar (streams) yoki boshqa resurslar bilan ishlaganda ulardan foydalanib bo‘lgach, ularni yopish muhim. Agar resursni yopishni unutsangiz, u xotirani band qilishda davom etishi yoki hatto dastur tugaguncha faylni qayta ochishingizga to‘sqinlik qilishi mumkin.
Eslatma: Siz hali fayllar va oqimlar (streams) haqida batafsil o‘rganmadingiz. Bu mavzular keyingi boblarda keladi. Hozircha faqat try-with-resources qanday ishlashiga e’tibor qarating.
Eski kodda "resurslar"ni ularning close() metodini chaqirib, qo‘lda yopishga to‘g‘ri kelardi:
Misol
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
FileOutputStream output = new FileOutputStream("filename.txt");
output.write("Hello".getBytes());
output.close(); // must close manually
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("Error writing file.");
}
}
}
Misolni ishga tushirish »
Java try-with-resources
Java 7 dan boshlab try-with-resources’dan foydalanishingiz mumkin. Bu resurslar (masalan, fayllar va oqimlar) bilan ishlaydigan try’ning maxsus shakli. Resurs try(...) qavslari ichida e’lon qilinadi va blok tugagach, Java uni avtomatik yopadi — hatto xato yuz bersa ham.
Misol (try-with-resources)
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
// resource is opened inside try()
try (FileOutputStream output = new FileOutputStream("filename.txt")) {
output.write("Hello".getBytes());
// no need to call close() here
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("Error writing file.");
}
}
}
Nima uchun try-with-resources’dan foydalanish kerak?
- Xavfsizroq — istisno yuz bersa ham resurslar har doim yopiladi.
- Tozaroq —
close()chaqiruvlarini yozish shart emas. - Qisqaroq kod — shablon kod kamroq, o‘qish osonroq.
Amaliy qoida: Fayllar, oqimlar yoki ma’lumotlar bazasi ulanishlari bilan ishlaganingizda, ular to‘g‘ri yopilishini ta’minlash uchun try-with-resources’dan foydalaning.
Keyingi mavzu: Java tilida fayllar bilan ishlashni o‘rganing.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
