Клас на Java PushbackReader

Клас на Java PushbackReader

The Клас 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 (Reader push): Този конструктор се използва за създаване на нов PushbackReader с обратен буфер по подразбиране.

Синтаксис:

публичен PushbackReader (Reader push)

Пример:

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 (Reader push int size): Този конструктор ни позволява да определим размера на буфера за обратно изтласкване

Синтаксис:

public PushbackReader (Reader push int size)

Пример:

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.

io.PushbackReader Клас в Java


Сега ще обсъдим подробно всеки метод един по един:

1. прочетете(): Този метод се използва за четене на символ по един от потока

Синтаксис:

public int read()

  • Параметър: Този метод не приема никакъв параметър.
  • Тип връщане: Този метод връща прочетения знак като цяло число или връща -1, когато се достигне краят на потока.


2. read(char[] carray int offset int maxlen): Този метод се използва за четене на част от знаци.

Синтаксис:

public int read(char[] carray int offset int maxlen)

  • Параметър: Този метод включва три параметъра, които са изброени по-долу
    • char[] carray: Това е масив от знаци, където ще бъдат прочетените знаци съхранени.
    • int отместване: Това е началната позиция в масива
    • int maxlen: Това е максималният брой знаци за четене.
  • Тип връщане: Този метод връща броя на прочетените знаци


3. затвори (): Този метод се използва за затваряне на четеца

Синтаксис:

публично невалидно затваряне()

  • Параметър: Този метод не приема никакъв параметър
  • Тип връщане: Този метод не връща нищо.


4. маркирайте (int readAheadLimit): Този метод се използва за маркиране на текущата позиция в потока

Синтаксис:

публичен празен знак (int readAheadLimit)

  • Параметър: Този метод включва един параметър readAheadLimit, който указва максималния брой знаци, които могат да бъдат прочетени, преди позицията на маркировката да стане невалидна.
  • Тип връщане: Този метод не връща нищо


5. пропуснете (дълго n): Този метод се използва за пропускане на определен брой знаци.

Синтаксис:

публично дълго пропускане (дълго n)

  • Параметър: Този метод включва един параметър long n, който е броят знаци за пропускане в потока.
  • Тип връщане: Този метод връща броя на пропуснатите знаци


6. нулиране(): Този метод се използва за връщане към позицията, където е извикан mark().

Синтаксис:

публично невалидно нулиране ()

  • Параметър: Този метод не приема никакъв параметър
  • Тип връщане: Този метод не връща нищо


7. markSupported(): Този метод показва дали потокът поддържа маркиране или не

Синтаксис:

public boolean markSupported()

  • Параметър: Този метод не приема никакъв параметър
  • Тип връщане: Този метод връща false, защото маркирането не се поддържа.


8. готов(): Този метод проверява дали потокът е готов за четене или не.

Синтаксис:

публичен булев готов()

  • Параметър: Този метод не приема никакъв параметър
  • Тип връщане: Този метод връща true, ако потокът е готов.


9. непрочетено (int c): Този метод се използва за връщане на символ обратно в потока.

Синтаксис:

public void unread(int c)

  • Параметър: Този метод приема един параметър, който е c, който е символът, който трябва да бъде върнат обратно в потока.
  • Тип връщане: Този метод не връща нищо.


10. непрочетено (char[] carray): Този метод се използва за избутване на масив от символи обратно в потока.

Синтаксис:

public void unread(char[] carray)

  • Параметър: Този метод взема масив от символи, които да бъдат върнати обратно в потока.
  • Тип връщане: Този метод не връща нищо.


Java програма за демонстриране на методите 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  
Създаване на тест

Топ Статии

Категория