logo

Клас на 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 е посочена по-долу:

python os listdir

публичен клас 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

Методи на Java PushbackReader

Изображението по-долу демонстрира методите на класа CharArrayWriter.

io.PushbackReader Клас в Java' title=


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

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): Този метод се използва за маркиране на текущата позиция в потока

Синтаксис:

сортиране на вмъкване в java

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

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


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

Синтаксис:

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

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


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

Синтаксис:

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

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


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

int към преобразуване на низ в java

Синтаксис:

public boolean markSupported()

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


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

Синтаксис:

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

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


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

Синтаксис:

команда за разтягане на autocad

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 
Създаване на тест