ال فئة قارئ الدفع الخلفي في Java جزء من java.io.package ويستخدم لقراءة الأحرف من الدفق. تتيح لنا هذه الفئة إعادة الشخصيات إلى الدفق.
ميزات فئة PushbackReader:
- تستخدم هذه الفئة مخزنًا مؤقتًا يسمح لنا بدفع الأحرف مرة أخرى إلى الدفق.
- يعد هذا الفصل رائعًا لقراءة النص والتحقق من الأحرف دون استخدامها على الفور. إذا لم تكن هناك حاجة إلى الشخصية، فيمكن إعادتها.
مثال:
Java
// Demonstrating the working // of PushbackReader import java.io.*; public class Geeks { public static void main(String[] args) { String s = 'Hello World!'; StringReader sr = new StringReader(s); // Create a PushbackReader with the StringReader PushbackReader pr = new PushbackReader(sr); try { // Read the first character int char1 = pr.read(); System.out.println('Read character: ' + (char) char1); // Push this character back into the stream pr.unread(char1); // Read the same character again (since we pushed it back) int char2 = pr.read(); System.out.println('Read character again: ' + (char) char2); // Continue reading the next character int char3 = pr.read(); System.out.println('Next character: ' + (char) char3); // Close the reader pr.close(); } catch (IOException e) { e.printStackTrace(); } } }
الإخراج
Read character: H Read character again: H Next character: e
إعلان فئة PushbackReader
تم إدراج إعلان فئة PushbackReader أدناه:
خلفية المغلق
يمتد PushbackReader من الفئة العامة إلى FilterReader
جميع الواجهات المنفذة:
- قابل للإغلاق: يتم استخدام هذه الواجهة لتحرير الموارد
- قابل للإغلاق التلقائي: تسمح هذه الواجهة بالإغلاق التلقائي في بيان محاولة استخدام الموارد.
- مقروءة: يتم استخدام هذه الواجهة لقراءة البيانات من الكائن.
المنشئون في PushbackReader
تتكون هذه الفئة من مُنشئين يمكننا من خلالهما إنشاء كائن من هذه الفئة بطرق مختلفة. فيما يلي المنشئات المتوفرة في هذه الفئة:
1. PushbackReader (دفع القارئ): يتم استخدام هذا المُنشئ لإنشاء قارئ PushbackReader جديد مع مخزن مؤقت للرد الافتراضي.
بناء الجملة:
PushbackReader العام (دفع القارئ)
مثال:
Java// Demonstrating the working // of PushbackReader(Reader push) import java.io.*; public class Geeks { public static void main(String[] args) { // String to be read String s = 'Hello World!'; // Create a StringReader to read from the string StringReader sr = new StringReader(s); // Create a PushbackReader with the StringReader PushbackReader pr = new PushbackReader(sr); try { // Read and print characters int charRead; while ((charRead = pr.read()) != -1) { System.out.print((char) charRead); } // Close the PushbackReader pr.close(); } catch (IOException e) { e.printStackTrace(); } } }
الإخراج
Hello World!
2. PushbackReader (حجم القارئ الدافع): يسمح لنا هذا المُنشئ بتحديد حجم المخزن المؤقت للرد
بناء الجملة:
PushbackReader العام (حجم دفع القارئ)
مثال:
Java// Demonstrating the working // of PushbackReader(Reader push int size) import java.io.*; public class Geeks{ public static void main(String[] args) { // String to be read String s = 'Hello World!'; // Create a StringReader to read from the string StringReader sr = new StringReader(s); // Create a PushbackReader with the StringReader // and a specified buffer size of 20 PushbackReader pr = new PushbackReader(sr 20); try { // Read and print characters int charRead; while ((charRead = pr.read()) != -1) { System.out.print((char) charRead); } // Close the PushbackReader pr.close(); } catch (IOException e) { e.printStackTrace(); } } }
الإخراج
Hello World!
عدد صحيح لمضاعفة Java
طرق جافا PushbackReader
توضح الصورة أدناه أساليب فئة CharArrayWriter.

وسنتحدث الآن عن كل طريقة على حدة بالتفصيل:
1.قراءة (): يتم استخدام هذه الطريقة لقراءة حرف واحد في كل مرة من الدفق
بناء الجملة:
القراءة العامة ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة.
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع الحرف المقروء كعدد صحيح أو إرجاع -1 عند الوصول إلى نهاية الدفق.
2. قراءة (شار [] كاراي إنت إزاحة إنت ماكسلين): تُستخدم هذه الطريقة لقراءة جزء من الأحرف.
مجلس الإنماء والإعمار النموذج الكامل
بناء الجملة:
قراءة int العامة (char [] carray int offset int maxlen)
- المعلمة: تتضمن هذه الطريقة ثلاث معلمات مذكورة أدناه
- شار[] كاري: إنها مصفوفة أحرف حيث ستكون أحرف القراءة مخزنة.
- إزاحة كثافة العمليات: إنه موضع البداية في المصفوفة
- إنت ماكسلين: هذا هو الحد الأقصى لعدد الأحرف للقراءة.
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع عدد الأحرف المقروءة
3. إغلاق (): يتم استخدام هذه الطريقة لإغلاق القارئ
بناء الجملة:
إغلاق الفراغ العام ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة
- نوع الإرجاع: هذه الطريقة لا ترجع أي شيء.
4. علامة (int readAheadLimit): يتم استخدام هذه الطريقة لتحديد الموضع الحالي في الدفق
بناء الجملة:
علامة الفراغ العامة (int readAheadLimit)
- المعلمة: تتضمن هذه الطريقة معلمة واحدة readAheadLimit والتي تحدد الحد الأقصى لعدد الأحرف التي يمكن قراءتها قبل أن يصبح موضع العلامة غير صالح.
- نوع الإرجاع: هذه الطريقة لا ترجع أي شيء
5. تخطي (طويل ن): يتم استخدام هذه الطريقة لتخطي عدد معين من الأحرف.
بناء الجملة:
تخطي طويل عام (طويل ن)
- المعلمة: تتضمن هذه الطريقة معلمة واحدة طويلة n وهي عدد الأحرف التي يجب تخطيها في الدفق.
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع عدد الأحرف التي تم تخطيها
6. إعادة الضبط (): تُستخدم هذه الطريقة للعودة إلى الموضع الذي تم فيه استدعاء العلامة ().
بناء الجملة:
إعادة تعيين الفراغ العام ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة
- نوع الإرجاع: هذه الطريقة لا ترجع أي شيء
7.markSupported (): توضح هذه الطريقة ما إذا كان الدفق يدعم وضع العلامات أم لا
بناء الجملة:
العلامة المنطقية العامة المدعومة ()
سلسلة تقسيم C++
- المعلمة: هذه الطريقة لا تأخذ أي معلمة
- نوع الإرجاع: تُرجع هذه الطريقة خطأ لأن وضع العلامات غير مدعوم.
8. جاهز (): تتحقق هذه الطريقة مما إذا كان الدفق جاهزًا للقراءة أم لا.
بناء الجملة:
منطقية عامة جاهزة ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة
- نوع الإرجاع: تُرجع هذه الطريقة صحيحًا إذا كان الدفق جاهزًا.
9. غير مقروءة (int ج): يتم استخدام هذه الطريقة لدفع الشخصية مرة أخرى إلى الدفق.
بناء الجملة:
الفراغ العام غير مقروء (int c)
- المعلمة: تأخذ هذه الطريقة معلمة واحدة وهي c وهي الحرف الذي سيتم دفعه مرة أخرى إلى الدفق.
- نوع الإرجاع: هذه الطريقة لا ترجع أي شيء.
10. غير مقروء (شار [] كاراي): تُستخدم هذه الطريقة لدفع مجموعة من الأحرف مرة أخرى إلى الدفق.
إطار تكنتر
بناء الجملة:
الفراغ العام غير مقروء (شار [] كاراي)
- المعلمة: تأخذ هذه الطريقة مجموعة من الأحرف ليتم دفعها مرة أخرى إلى الدفق.
- نوع الإرجاع: هذه الطريقة لا ترجع أي شيء.
برنامج جافا لتوضيح أساليب PushbackReader
مثال:
Java// Demonstrating the working // of methods of PushbackReader class import java.io.*; public class Geeks { public static void main(String[] args) throws IOException { String s = 'GeeksForGeeks'; StringReader sr = new StringReader(s); PushbackReader pr = new PushbackReader(sr); // Check if the stream is ready System.out.println('Is the stream ready? ' + pr.ready()); // Use read() and skip() System.out.print('Using read() and skip(): '); for (int i = 0; i < 3; i++) { char c = (char) pr.read(); // Read 1 char System.out.print(c); pr.skip(1); // Skip next char } char c = (char) pr.read(); // read next char after 3 skip cycles System.out.print(c); // Now read() with array – only 1 char expected char[] arr = new char[1]; pr.read(arr); System.out.println('nUsing read() with an array: ' + new String(arr)); // Unread and read back pr.unread('F'); char nextChar = (char) pr.read(); System.out.println('After unread() the next character: ' + nextChar); // Close the reader pr.close(); } }
الإخراج
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: Fإنشاء اختبار