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

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

Java Control Flow

Java Arrays

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

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

Java List

Java Queue (Queue)

Java Map Collections

Java Set Collections

Java Input/Output (I/O)

Java Reader/Writer

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

فئة Java BufferedReader

في هذا الدرس، سنتعلم من خلال الأمثلة Java BufferedReader ومتغيراته.

فئة BufferedReader في حزمة java.io يمكن استخدامها مع قارئات أخرى لقراءة البيانات بشكل أكثر فعالية (بصورة حروف).

انه ورث من فئة Reader الم抽象ة.

طريقة عمل BufferedReader

يسيطر BufferedReader على مساحة التخزين الداخليةمساحة التخزين البالغة 8192 حرف.

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

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

إنشاء BufferedReader

لإنشاء BufferedReader، يجب علينا أولاً استيراد حزمة java.io.BufferedReader. بعد استيراد الحزمة، يمكننا إنشاء قارئ.

// إنشاء FileReader
FileReader file = new FileReader(String file);
// إنشاء BufferedReader
BufferedReader buffer = new BufferedReader(file);

في المثال السابق، قمنا بإنشاء BufferedReader يحمل الاسم buffer وFileReader يحمل الاسم file.

في هذا السياق، حجم مساحة التخزين الداخلية الافتراضية لـ BufferedReader هو 8192 حرف. ولكن يمكننا أيضًا تحديد حجم مساحة التخزين الداخلية.

// إنشاء BufferedReader يحتوي على مساحة تخزين داخليه مسبقة التحديد
BufferedReader buffer = new BufferedReader(file, int size);

المساحة المخزنية ستساعد في قراءة الأحرف من الملف بشكل أسرع.

طرق BufferedReader

فئة BufferedReader تقدم إصدارات لطرق Reader المختلفة.

طريقة read()

  • read()- قراءة حرف واحد من منطقة التخزين الداخلية لمحسن القراءة

  • read(char[] array)- قراءة حرف من محسن القراءة ووضعها في المصفوفة المحددة

  • read(char[] array, int start, int length)- قراءة عدد من الحروف يساوي length من محسن القراءة ووضعها في الموقع start من المصفوفة المحددة

على سبيل المثال، لنفترض أن لدينا ملفinput.txtالمحتوي على ما يلي.

هذه سطر نصي داخل الملف.

لنحاول استخدام BufferedReader لقراءة الملف.

import java.io.FileReader;
import java.io.BufferedReader;
class Main {
  public static void main(String[] args) {
    //إنشاء مصفوفة من الحروف
    char[] array = new char[100];
    try {
      //إنشاء FileReader
      FileReader file = new FileReader("input.txt");
      //إنشاء BufferedReader
      BufferedReader input = new BufferedReader(file);
      //قراءة الحرف
      input.read(array);
      System.out.println("بيانات الملف: ");
      System.out.println(array);
      //إغلاق reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

نتيجة الإخراج

بيانات الملف:
هذه سطر نصي داخل الملف.

في المثال السابق، أنشأنا محسن القراءة المسمى input.input.txtرابط الملف.

FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);

في هذا السياق، نستخدم طريقة read() لقراءة مصفوفة الحروف من منطقة التخزين الداخلية لمحسن القراءة.

طريقة skip()

لإهمال وتخطي عدد معين من الحروف يمكن استخدام طريقة skip(). على سبيل المثال

import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
  public static void main(String args[]) {
    //إنشاء مصفوفة من الحروف
    char[] array = new char[100];
    try {
      //إذا كان ملف input.txt يحتوي على النص التالي
      //هذه سطر نصي داخل الملف.
      FileReader file = new FileReader("input.txt");
      //إنشاء BufferedReader
      BufferedReader input = new BufferedReader(file);
      //تخطي 5 حرف
      input.skip(5);
      //قراءة الحرف
      input.read(array);
      System.out.println("بيانات بعد تخطي 5 أحرف:");
      System.out.println(array);
      //إغلاق reader
      input.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

نتيجة الإخراج

بيانات بعد تخطي 5 أحرف:
هي سطر نصي داخل الملف.

في المثال السابق، استخدمنا طريقة skip() لتحويل 5 أحرف من ملف القارئ. لذلك، تم تخطي الأحرف 'T'، 'h'، 'i'، 's' و ' '.

طريقة close()

لإغلاق قارئ الملفات المحزوز، يمكننا استخدام طريقة close(). بعد استدعاء طريقة close()، لن نتمكن من استخدام القارئ لقراءة البيانات.

طرق أخرى لـ BufferedReader

الطريقةالوصف
ready()فحص ما إذا كان قارئ الملف جاهزًا للقراءة
mark()موقع البيانات التي تم قراءتها في قارئ العلامات
reset()إعادة تعيين العلامة، العودة إلى الموقع الذي تم تعيين العلامة فيه في قارئ