Classe Java PushbackReader

Classe Java PushbackReader

IL Classe PushbackReader in Java fa parte del java.io.pacchetto e viene utilizzato per leggere i caratteri da un flusso. Questa classe ci consente di reinserire i personaggi nello stream.

Caratteristiche della classe PushbackReader:

  • Questa classe utilizza un buffer che ci consente di reinserire i caratteri nello stream.
  • Questa lezione è ottima per leggere il testo e controllare i caratteri senza utilizzarli subito. Se il personaggio non è necessario può essere respinto.

Esempio:



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

Produzione
Read character: H Read character again: H Next character: e  


Dichiarazione della classe PushbackReader

La dichiarazione della classe PushbackReader è elencata di seguito:

la classe pubblica PushbackReader estende FilterReader

Tutte le interfacce implementate:

  • Chiudibile: Questa interfaccia viene utilizzata per rilasciare risorse
  • Chiusura automatica: Questa interfaccia consente la chiusura automatica in un'istruzione try-with-resources.
  • Leggibile: Questa interfaccia viene utilizzata per leggere i dati dall'oggetto.

Costruttori in PushbackReader

Questa classe è composta da due costruttori con l'aiuto dei quali possiamo creare l'oggetto di questa classe in diversi modi. Di seguito sono riportati i costruttori disponibili in questa classe:

1. PushbackReader (spinta del lettore): Questo costruttore viene utilizzato per creare un nuovo PushbackReader con un buffer pushback predefinito.

Sintassi:

public PushbackReader(push del lettore)

Esempio:

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

Produzione
Hello World! 


2. PushbackReader (dimensione int push del lettore): Questo costruttore ci consente di specificare la dimensione del buffer di pushback

Sintassi:

public PushbackReader(dimensione int push del lettore)

Esempio:

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

Produzione
Hello World! 


Metodi Java PushbackReader

L'immagine seguente mostra i metodi della classe CharArrayWriter.

Classe io.PushbackReader in Java


Ora discuteremo di ciascun metodo uno per uno in dettaglio:

1. leggere(): Questo metodo viene utilizzato per leggere un carattere alla volta dal flusso

Sintassi:

public int read()

  • Parametro: Questo metodo non accetta alcun parametro.
  • Tipo di reso: Questo metodo restituisce il carattere letto come intero oppure restituisce -1 quando viene raggiunta la fine dello stream.


2. leggi(char[] carray int offset int maxlen): Questo metodo viene utilizzato per leggere un pezzo di caratteri.

Sintassi:

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

  • Parametro: Questo metodo include tre parametri elencati di seguito
    • char[] carray: È un array di caratteri in cui verranno letti i caratteri memorizzato.
    • offset intero: È la posizione iniziale nell'array
    • int maxlen: È il numero massimo di caratteri da leggere.
  • Tipo di reso: Questo metodo restituisce il numero di caratteri letti


3. chiudi(): Questo metodo viene utilizzato per chiudere il lettore

Sintassi:

pubblico vuoto chiuso()

  • Parametro: Questo metodo non accetta alcun parametro
  • Tipo di reso: Questo metodo non restituisce nulla.


4. mark(int readAheadLimit): Questo metodo viene utilizzato per contrassegnare la posizione corrente nel flusso

Sintassi:

public void mark(int readAheadLimit)

  • Parametro: Questo metodo include un parametro readAheadLimit che specifica il numero massimo di caratteri che possono essere letti prima che la posizione del contrassegno diventi non valida.
  • Tipo di reso: Questo metodo non restituisce nulla


5. salta(lungo n): Questo metodo viene utilizzato per saltare un certo numero di caratteri.

Sintassi:

salto lungo pubblico (lungo n)

  • Parametro: Questo metodo include un parametro lungo n che rappresenta il numero di caratteri da saltare nello stream.
  • Tipo di reso: Questo metodo restituisce il numero di caratteri saltati


6. reimposta(): Questo metodo viene utilizzato per tornare alla posizione in cui è stato chiamato mark().

Sintassi:

ripristino del vuoto pubblico()

  • Parametro: Questo metodo non accetta alcun parametro
  • Tipo di reso: Questo metodo non restituisce nulla


7. markSupported(): Questo metodo indica se lo stream supporta o meno la marcatura

Sintassi:

segno booleano pubblicoSupportato()

  • Parametro: Questo metodo non accetta alcun parametro
  • Tipo di reso: Questo metodo restituisce false perché il contrassegno non è supportato.


8. pronto(): Questo metodo controlla se il flusso è pronto per la lettura o meno.

Sintassi:

booleano pubblico pronto()

  • Parametro: Questo metodo non accetta alcun parametro
  • Tipo di reso: Questo metodo restituisce true se lo stream è pronto.


9. non letto(int c): Questo metodo viene utilizzato per reinserire il carattere nel flusso.

Sintassi:

public void non letto(int c)

  • Parametro: Questo metodo accetta un singolo parametro che è c che è il carattere da reinserire nel flusso.
  • Tipo di reso: Questo metodo non restituisce nulla.


10. non letto(char[] carray): Questo metodo viene utilizzato per reinserire la matrice di caratteri nel flusso.

Sintassi:

public void non letto(char[] carray)

  • Parametro: Questo metodo richiede che un array di caratteri venga reinserito nel flusso.
  • Tipo di reso: Questo metodo non restituisce nulla.


Programma Java per dimostrare i metodi PushbackReader

Esempio:

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

Produzione
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Crea quiz

Articoli Più

Categoria

Articoli Interessanti