I/O مبتدئ

تحويل إدخال/إخراج الملفات بترميز افتراضي إلى StandardCharsets صريح

استخدم قارئات وكاتبات Files مع ثوابت StandardCharsets بدلاً من الاعتماد على سلوك الترميز الافتراضي للمنصة والبحث عن اسم الترميز.

I/O
✕ Platform-default charset
try (Reader reader = new FileReader(path.toFile())) {
    return readAll(reader);
}
✓ Explicit standard charset
try (BufferedReader reader = Files.newBufferedReader(
        path, StandardCharsets.UTF_8)) {
    return readAll(reader);
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🌍

نتائج قابلة للنقل

تُفكّ نفس البايتات بنفس الطريقة على أي جهاز.

🔒

ثابت معرّف مسبقًا

لا يمكن أن يحتوي StandardCharsets.UTF_8 على اسم ترميز مكتوب خطأ.

🧩

واجهة ملفات حديثة

يُعبَّر عن Path والتخزين المؤقت والترميز في عملية واحدة.

الأسلوب القديم
الترميز الافتراضي للمنصة
الأسلوب الحديث
ترميز قياسي صريح
منذ JDK
7
الصعوبة
مبتدئ
تحويل إدخال/إخراج الملفات بترميز افتراضي إلى StandardCharsets صريح
متاح

متاح على نطاق واسع منذ JDK 7 (يوليو 2011)

تجعل بواني Reader وWriter التي تعتمد على الترميز الافتراضي سلوك الملف يعتمد على بيئة التشغيل. تقبل Files.newBufferedReader() وnewBufferedWriter() ترميزاً صريحاً، بينما توفر StandardCharsets ثوابت مضمونة مثل UTF_8 دون البحث عن سلسلة نصية أو استثناء UnsupportedCharsetException.