logo

Classe Java PushbackReader

El Classe PushbackReader en Java forma part del java.io.package i s'utilitza per llegir personatges d'un corrent. Aquesta classe ens permet tornar els personatges al flux.

Característiques de la classe PushbackReader:

  • Aquesta classe utilitza una memòria intermèdia que ens permet tornar els personatges al flux.
  • Aquesta classe és ideal per llegir text i comprovar caràcters sense utilitzar-los immediatament. Si el personatge no és necessari, es pot retrocedir.

Exemple:



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();  }  } } 

Sortida
Read character: H Read character again: H Next character: e 


Declaració de la classe PushbackReader

La Declaració de la classe PushbackReader es mostra a continuació:

tipus de closca

PushbackReader de classe pública amplia FilterReader

Totes les interfícies implementades:

  • Tancable: Aquesta interfície s'utilitza per alliberar recursos
  • Tancament automàtic: Aquesta interfície permet el tancament automàtic en una declaració de prova amb recursos.
  • Llegible: Aquesta interfície s'utilitza per llegir dades de l'objecte.

Constructors a PushbackReader

Aquesta classe consta de dos constructors amb l'ajuda dels quals podem crear objecte d'aquesta classe de diferents maneres. Els constructors disponibles en aquesta classe són els següents:

1. PushbackReader (Pushback Reader): Aquest constructor s'utilitza per crear un nou PushbackReader amb un buffer de pushback predeterminat.

Sintaxi:

Public PushbackReader (Pushback del lector)

Exemple:

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();  }  } } 

Sortida
Hello World!


2. PushbackReader (mida del lector push int): Aquest constructor ens permet especificar la mida del buffer pushback

Sintaxi:

public PushbackReader (mida del lector push int)

Exemple:

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();  }  } } 

Sortida
Hello World!


la cadena està buida

Mètodes Java PushbackReader

La imatge següent mostra els mètodes de la classe CharArrayWriter.

io.PushbackReader Classe a Java' title=


Ara parlarem de cada mètode un per un en detall:

1. llegir(): Aquest mètode s'utilitza per llegir un caràcter a la vegada del flux

Sintaxi:

public int read()

  • Paràmetre: Aquest mètode no pren cap paràmetre.
  • Tipus de retorn: Aquest mètode retorna el caràcter llegit com un nombre enter o retorna -1 quan s'arriba al final del flux.


2. llegir(char[] carray int offset int maxlen): Aquest mètode s'utilitza per llegir un tros de caràcters.

Sintaxi:

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

  • Paràmetre: Aquest mètode inclou tres paràmetres que s'enumeren a continuació
    • char[] carray: És una matriu de caràcters on hi haurà caràcters llegits emmagatzemat.
    • int offset: És la posició inicial de la matriu
    • int maxlen: És el nombre màxim de caràcters per llegir.
  • Tipus de retorn: Aquest mètode retorna el nombre de caràcters llegits


3. tancar(): Aquest mètode s'utilitza per tancar el lector

Sintaxi:

buit públic tancar()

  • Paràmetre: Aquest mètode no pren cap paràmetre
  • Tipus de retorn: Aquest mètode no retorna res.


4. marca (int readAheadLimit): Aquest mètode s'utilitza per marcar la posició actual al flux

Sintaxi:

1 de 1000,00

marca de buit públic (int readAheadLimit)

  • Paràmetre: Aquest mètode inclou un paràmetre readAheadLimit que especifica el nombre màxim de caràcters que es poden llegir abans que la posició de la marca no sigui vàlida.
  • Tipus de retorn: Aquest mètode no retorna res


5. saltar (n llarg): Aquest mètode s'utilitza per saltar cert nombre de caràcters.

Sintaxi:

salt llarg públic (n llarg)

  • Paràmetre: Aquest mètode inclou un paràmetre llarg n que és el nombre de caràcters que cal saltar al flux.
  • Tipus de retorn: Aquest mètode retorna el nombre de caràcters que s'han omès


6. restablir(): Aquest mètode s'utilitza per tornar a la posició on es va cridar mark().

hola món java

Sintaxi:

restabliment public void ()

  • Paràmetre: Aquest mètode no pren cap paràmetre
  • Tipus de retorn: Aquest mètode no retorna res


7. markSupported(): Aquest mètode indica si el flux admet el marcatge o no

Sintaxi:

public boolean markSupported ()

  • Paràmetre: Aquest mètode no pren cap paràmetre
  • Tipus de retorn: Aquest mètode retorna false perquè no s'admet el marcatge.


8. llest(): Aquest mètode comprova si el flux està llest per llegir-se o no.

Sintaxi:

boolean públic llest ()

  • Paràmetre: Aquest mètode no pren cap paràmetre
  • Tipus de retorn: Aquest mètode retorna true si el flux està preparat.


9. no llegit(int c): Aquest mètode s'utilitza per tornar a introduir el caràcter al flux.

Sintaxi:

python snake vs anaconda

public void no llegit(int c)

  • Paràmetre: Aquest mètode pren un únic paràmetre que és c, que és el caràcter que s'ha de tornar al flux.
  • Tipus de retorn: Aquest mètode no retorna res.


10. sense llegir(car[] carray):

Sintaxi:

public void no llegit(char[] carray)

  • Paràmetre: Aquest mètode pren una matriu de caràcters per tornar a introduir-se al flux.
  • Tipus de retorn: Aquest mètode no retorna res.


Programa Java per demostrar els mètodes PushbackReader

Exemple:

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();  } } 

Sortida
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F 
Crea un qüestionari