English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

Java Flow Control

Java Arrays

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثنائات Java

Java List

Java Queue (الطابور)

Java Map Collections

Java Set Collections

Java إدخال/إخراج (I/O)

Java Reader/Writer

مواضيع أخرى في Java

فئة BufferedWriter في Java

في هذا الدرس، سنتعلم عن BufferedWriter في Java وطرقه عبر أمثلة.

يمكن استخدام فئة BufferedWriter في مكتبة java.io مع كتابة أجهزة الكتابة الأخرى لتحسين كتابة البيانات (بصيغة الأحرف).

انه وراثي من فئة Writer.

طريقة عمل BufferedWriter

يحافظ BufferedWriter على سحابة داخليةمكتبة الحروف 8192.

في أثناء عملية الكتابة، سيتم كتابة الأحرف في السحابة الداخلية بدلاً من القرص. بمجرد أن يتم ملء السحابة الداخلية أو إغلاق مكتتب الكتابة، سيتم كتابة جميع الأحرف في القرص.

لذلك، قلل من عدد الاتصالات بالقرص. هذا هو السبب في أن كتابة الأحرف باستخدام BufferedWriter أسرع.

إنشاء 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

تقدم كلاس BufferedWriter تنفيذًا لطرق موجودة في Writer.

طريقة write()

  • write() - كتابة حرف واحد في حافز الكاتبة

  • write(char[] array) - كتابة مجموعة من الأحرف في الكاتبة

  • write(String data) - كتابة النص المحدد في الكاتبة

مثال: كتابة البيانات في BufferedWriter

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()

لإزالة الحافز الداخلي، يمكننا استخدام طريقة 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(). بمجرد استدعاء طريقة close()، لا يمكن استخدام الكاتب لإنشاء بيانات.

طرق أخرى لـ BufferedWriter

الطريقةوصف
newLine()إدراج سطر جديد في الكاتب
append()إدراج الحرف المحدد في الكاتبة الحالية