English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، سنتعلم من خلال الأمثلة Java BufferedReader ومتغيراته.
فئة BufferedReader في حزمة java.io يمكن استخدامها مع قارئات أخرى لقراءة البيانات بشكل أكثر فعالية (بصورة حروف).
انه ورث من فئة Reader الم抽象ة.
يسيطر BufferedReader على مساحة التخزين الداخليةمساحة التخزين البالغة 8192 حرف.
أثناء إجراء عمليات القراءة في 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 تقدم إصدارات لطرق Reader المختلفة.
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(). على سبيل المثال
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()، لن نتمكن من استخدام القارئ لقراءة البيانات.
الطريقة | الوصف |
---|---|
ready() | فحص ما إذا كان قارئ الملف جاهزًا للقراءة |
mark() | موقع البيانات التي تم قراءتها في قارئ العلامات |
reset() | إعادة تعيين العلامة، العودة إلى الموقع الذي تم تعيين العلامة فيه في قارئ |