Javaالكلاس BufferedReader في جافا
الكلاس BufferedReader يقرأ أحرف كائن الـ InputStreamReader و يضعهم في الـ buffer. و هذا يوفر لك طرق عديدة لقراءة المحتوى من الـ buffer. مثل قراءته حرفاً حرفاً, أو تخزينه في مصفوفة, أو قراءته سطراً سطراً.
يمكنك تحديد حجم الـ buffer, أو استخدام الحجم الإفتراضي لها و الذي يعتبر جيداً في معظم الحالات.
الكلاس BufferedReader يحتوي على الـ constructors المذكورين في الجدول التالي.
الكونستركتور مع تعريفه | |
---|---|
1 | BufferedReader(Reader in) ينشئ كائن نوعه BufferedReader يستخدم حجم الـ buffer الإفتراضي. |
2 | BufferedReader(Reader in, int size) ينشئ كائن نوعه BufferedReader يستخدم حجم الـ buffer الذي نقوم بتحديده. |
بعد أن يصبح كائن الـ BufferedReader جاهزاً, يمكنك إستخدام الكثير من الدوال الجاهزة للقراءة من الملف أو لفعل أي شيء آخر.
الدالة مع تعريفها | |
---|---|
1 | public void close() throws IOException تغلق الـ BufferedReader و تقطع الإتصال بين الـ Stream و أي مصدر كان متصلاً فيه. |
2 | public int read() throws IOException
في كل مرة تقرأ حرف جديد من أحرف الـ BufferedReader و ترجعه. ترجع 1- إذا وصلت لنهاية الملف. |
3 | public int read(char[] cbuf, int offset, int length) throws IOException
في كل مرة تستدعى فيها تقرأ مجموعة أحرف جديدة من الـ BufferedReader و تخزنهم في المصفوفة cbuf. المتغير offset يقصد به من أي عنصر في المصفوفة cbuf سيكتب في الـ BufferedReader. المتغير length يقصد به كم عنصر من عناصر المصفوفة cbuf سيكتب في الـ BufferedReader. |
4 | public String readLine() throws IOException
في كل مرة تقرأ سطر جديد من أسطر الـ BufferedReader و ترجعه. ترجع null إذا وصلت لنهاية الملف. السطر يتعبر منتهياً إذا كان ينتهي بـ \n, أو بـ \r, أو بالإثنين مع بعض \n\r. |
5 | public long skip(long n) throws IOException
تتخطى عدد من الأحرف الموجودة في الـ buffer. ثم ترجع عدد الأحرف التي تجاوزتها. المتغير N يقصد به عدد الأحرف التي سيتم تجاوزها عند القراءة من الـ buffer. |
مثال
في هذا المثال سنقوم بإنشاء ملف جديد و كتابة نص صغير فيه, ثم سنقوم بقراءة النص من الملف.
سنحصل على النتيجة التالية عند التشغيل.