English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، سنتعلم عن BufferedWriter في Java وطرقه عبر أمثلة.
يمكن استخدام فئة BufferedWriter في مكتبة java.io مع كتابة أجهزة الكتابة الأخرى لتحسين كتابة البيانات (بصيغة الأحرف).
انه وراثي من فئة Writer.
يحافظ BufferedWriter على سحابة داخليةمكتبة الحروف 8192.
في أثناء عملية الكتابة، سيتم كتابة الأحرف في السحابة الداخلية بدلاً من القرص. بمجرد أن يتم ملء السحابة الداخلية أو إغلاق مكتتب الكتابة، سيتم كتابة جميع الأحرف في القرص.
لذلك، قلل من عدد الاتصالات بالقرص. هذا هو السبب في أن كتابة الأحرف باستخدام BufferedWriter أسرع.
لإنشاء BufferedWriter، يجب علينا أولاً استيراد مكتبة java.io.BufferedWriter. بعد استيراد المكتبة، يمكننا إنشاء مكتتب الداخلية.
//إنشاء FileWriter FileWriter file = new FileWriter(String name); //إنشاء BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
في المثال السابق، قمنا بإنشاء BufferedWriter يُدعى buffer وFileWriter يُدعى file.
في هذا المكان، حجم الحروف الافتراضي للسحابة الداخلية BufferedWriter هو 8192 حرف. ولكن يمكننا أيضًا تحديد حجم السحابة الداخلية.
//يخلق BufferedWriter داخلي يحتوي على حجم داخلي معين من الحروف BufferedWriter buffer = new BufferedWriter(file, int size);
سيساعد الحافز في تحسين كفاءة كتابة الأحرف إلى الملف.
تقدم كلاس BufferedWriter تنفيذًا لطرق موجودة في Writer.
write() - كتابة حرف واحد في حافز الكاتبة
write(char[] array) - كتابة مجموعة من الأحرف في الكاتبة
write(String data) - كتابة النص المحدد في الكاتبة
import java.io.FileWriter; import java.io.BufferedWriter; public class Main { public static void main(String args[]) { String data = "This is the data in the output file"; try { //إنشاء FileWriter FileWriter file = new FileWriter("output.txt"); //إنشاء BufferedWriter BufferedWriter output = new BufferedWriter(file); //كتابة النص في الملف output.write(data); //إغلاق الكاتبة output.close(); } catch (Exception e) { e.getStackTrace(); } } }
في المثال السابق، قمنا بإنشاء كاتبة م缓冲ة وكاتبة ملف تُدعى output. تنتهي كاتبة الملف المُحفظة بملف output.txt.
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
لإدخال البيانات إلى الملف، استخدمنا طريقة write().
في هذا المكان، عند تشغيل البرنامج،output.txtسيُملأ الملف بما يلي.
This is a line of text inside the file.
لإزالة الحافز الداخلي، يمكننا استخدام طريقة flush(). هذه الطريقة تجبر الكاتبة على كتابة جميع البيانات الموجودة في الحافز إلى ملف الهدف.
على سبيل المثال، لنفترض أن لدينا ملفًا يُدعىoutput.txtملف فارغ.
import java.io.FileWriter; import java.io.BufferedWriter; public class Main { public static void main(String[] args) { String data = "This is a demo of the flush method"; try { //إنشاء FileWriter FileWriter file = new FileWriter("flush.txt"); //إنشاء BufferedWriter BufferedWriter output = new BufferedWriter(file); //كتابة البيانات إلى الملف output.write(data); //غربلة البيانات إلى الهدف output.flush(); System.out.println("تم غربلة البيانات إلى الملف."); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
نتائج الإخراج
البيانات تُغربل إلى الملف.
عندما نقوم بتشغيل البرنامج، يتم تحديث ملفoutput.txtالنص الممثل بالبيانات النصية
لإغلاق الكاتبة المحفوفة بالذاكرة، يمكننا استخدام طريقة close(). بمجرد استدعاء طريقة close()، لا يمكن استخدام الكاتب لإنشاء بيانات.
الطريقة | وصف |
---|---|
newLine() | إدراج سطر جديد في الكاتب |
append() | إدراج الحرف المحدد في الكاتبة الحالية |