try-with-resources (AutoCloseable)
استخدم try-with-resources وAutoCloseable لإدارة الموارد بأمان.
try-with-resources (AutoCloseable) درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في 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());
}
}
}
موارد متعددة
يمكنكم فتح موارد متعددة في تعليمة try واحدة. وستُغلق تلقائيًا بترتيب عكسي.
الشفرة: موردان
يُغلق كل من 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/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.
ماذا ستتعلم في «try-with-resources (AutoCloseable)»؟
استخدم try-with-resources وAutoCloseable لإدارة الموارد بأمان. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «try-with-resources (AutoCloseable)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إطلاق الاستثناءات والاستثناءات المخصّصة
- try-with-resources (AutoCloseable)
- البرمجة الدفاعية