فئة جافا PushbackReader

فئة جافا PushbackReader

ال فئة قارئ الدفع الخلفي في 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! 


طرق جافا PushbackReader

توضح الصورة أدناه أساليب فئة CharArrayWriter.

فئة io.PushbackReader في جافا


وسنتحدث الآن عن كل طريقة على حدة بالتفصيل:

1.قراءة (): يتم استخدام هذه الطريقة لقراءة حرف واحد في كل مرة من الدفق

بناء الجملة:

القراءة العامة ()

  • المعلمة: هذه الطريقة لا تأخذ أي معلمة.
  • نوع الإرجاع: تقوم هذه الطريقة بإرجاع الحرف المقروء كعدد صحيح أو إرجاع -1 عند الوصول إلى نهاية الدفق.


2. قراءة (شار [] كاراي إنت إزاحة إنت ماكسلين): تُستخدم هذه الطريقة لقراءة جزء من الأحرف.

بناء الجملة:

قراءة int العامة (char [] carray int offset int maxlen)

  • المعلمة: تتضمن هذه الطريقة ثلاث معلمات مذكورة أدناه
    • شار[] كاري: إنها مصفوفة أحرف حيث ستكون أحرف القراءة مخزنة.
    • إزاحة كثافة العمليات: إنه موضع البداية في المصفوفة
    • إنت ماكسلين: هذا هو الحد الأقصى لعدد الأحرف للقراءة.
  • نوع الإرجاع: تقوم هذه الطريقة بإرجاع عدد الأحرف المقروءة


3. إغلاق (): يتم استخدام هذه الطريقة لإغلاق القارئ

بناء الجملة:

إغلاق الفراغ العام ()

  • المعلمة: هذه الطريقة لا تأخذ أي معلمة
  • نوع الإرجاع: هذه الطريقة لا ترجع أي شيء.


4. علامة (int readAheadLimit): يتم استخدام هذه الطريقة لتحديد الموضع الحالي في الدفق

بناء الجملة:

علامة الفراغ العامة (int readAheadLimit)

  • المعلمة: تتضمن هذه الطريقة معلمة واحدة readAheadLimit والتي تحدد الحد الأقصى لعدد الأحرف التي يمكن قراءتها قبل أن يصبح موضع العلامة غير صالح.
  • نوع الإرجاع: هذه الطريقة لا ترجع أي شيء


5. تخطي (طويل ن): يتم استخدام هذه الطريقة لتخطي عدد معين من الأحرف.

بناء الجملة:

تخطي طويل عام (طويل ن)

  • المعلمة: تتضمن هذه الطريقة معلمة واحدة طويلة n وهي عدد الأحرف التي يجب تخطيها في الدفق.
  • نوع الإرجاع: تقوم هذه الطريقة بإرجاع عدد الأحرف التي تم تخطيها


6. إعادة الضبط (): تُستخدم هذه الطريقة للعودة إلى الموضع الذي تم فيه استدعاء العلامة ().

بناء الجملة:

إعادة تعيين الفراغ العام ()

  • المعلمة: هذه الطريقة لا تأخذ أي معلمة
  • نوع الإرجاع: هذه الطريقة لا ترجع أي شيء


7.markSupported (): توضح هذه الطريقة ما إذا كان الدفق يدعم وضع العلامات أم لا

بناء الجملة:

العلامة المنطقية العامة المدعومة ()

  • المعلمة: هذه الطريقة لا تأخذ أي معلمة
  • نوع الإرجاع: تُرجع هذه الطريقة خطأ لأن وضع العلامات غير مدعوم.


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  
إنشاء اختبار