Classe de lector de Java

Classe de lector de Java

La classe Reader en Java és un classe abstracta per llegir fluxos de personatges. Les seves subclasses ( FileReader BufferedReade ) proporcionen implementacions amb read() com el mètode principal per llegir caràcters.

  • Implementa la interfície Readable que defineix el mètode read(CharBuffer cb).
  • Implementa la interfície Closeable que defineix el mètode close() per alliberar recursos.
lector_Lector

Declaració de classe lectora

A continuació es presenta la declaració de classe de lector:

classe abstracta pública Reader implementa Readable Closeable

Exemple: Llegiu un fitxer de text caràcter per caràcter mitjançant la classe Reader.

Java
   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )      {      try     {          // Create a FileReader object which is a subclass of Reader      Reader     r     =     new     FileReader  (  'example1.txt'  );      // Read one character at a time from the file      int     data     =     r  .  read  ();      while     (  data     !=     -  1  )     {          // Convert the int to char and print      System  .  out  .  print  ((  char  )  data  );      data     =     r  .  read  ();      }      // Close the reader      r  .  close  ();      }      catch     (  Exception     ex  )     {      System  .  out  .  println  (  'An error occurred: '     +     ex  .  getMessage  ());      }      }   }   

Sortida:

Sortidasortida

Nota: Per assegurar-vos que el programa s'executa correctament, creeu un fitxer anomenat example1.txt al directori de treball.

Afegiu el contingut següent al fitxer o podeu afegir qualsevol text.

Hola, benvinguts a Geeks for Geeks

Deseu el fitxer i executeu el programa. El programa llegirà i mostrarà el contingut de l'exemple 1 .txt com a sortida.

Constructors de la classe Reader

Hi ha dos constructors utilitzats amb Java Reader Class, tal com s'esmenta a continuació:

  • Lector protegit(): Crea un nou lector de flux de personatges les seccions crítiques del qual es sincronitzaran amb el propi lector.
  • Lector protegit (bloqueig d'objectes) : crea un nou lector de flux de caràcters les seccions crítiques del qual es sincronitzaran amb l'objecte donat.

Mètodes de Java Reader Class

Mètode Descripció
buit abstracte tancar() Tanca el flux i allibera recursos.
marca nul (int readAheadLimit) Marca la posició actual al tauler d'activitat.
marca booleà admesa () Comprova si les operacions de marcar/restablir són compatibles.
int read() Llegeix un sol caràcter del tauler d'activitat. Retorna -1 si s'arriba al final.
int llegir(char[] cbuf) Llegeix diversos caràcters en una matriu.
abstract int read(char[] cbuf int off int len) Llegeix una part de la matriu començant per l'offset per a la longitud len.
int lectura (destí de CharBuffer) Llegeix caràcters en un objecte CharBuffer.
void reset() Restableix el flux a la posició de marca més recent.
salt llarg (n llarg) Omet el nombre especificat de caràcters.

Exemple: El programa següent mostra el funcionament de diverses funcionalitats de la classe Reader a Java.

Java
   import     java.io.*  ;   import     java.nio.CharBuffer  ;   import     java.util.Arrays  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )      throws     IOException      {      // Open a file reader      Reader     r     =     new     FileReader  (  'file.txt'  );      PrintStream     out     =     System  .  out  ;      // Create a character array and CharBuffer      char  []     buffer     =     new     char  [  10  ]  ;      CharBuffer     charBuffer     =     CharBuffer  .  wrap  (  buffer  );      // Check if the reader supports marking      if     (  r  .  markSupported  ())     {      r  .  mark  (  100  );     // Mark the current position      out  .  println  (  'mark method is supported'  );      }      // Skip 5 characters in the stream      r  .  skip  (  5  );      // Check if the stream is ready to read      if     (  r  .  ready  ())     {      // Read 10 characters into the buffer      r  .  read  (  buffer       0       10  );      out  .  println  (  'Buffer after reading 10 chars: '      +     Arrays  .  toString  (  buffer  ));      // Read characters into the CharBuffer      r  .  read  (  charBuffer  );      out  .  println  (      'CharBuffer contents: '      +     Arrays  .  toString  (  charBuffer  .  array  ()));      // Read a single character      out  .  println  (  'Next character: '      +     (  char  )  r  .  read  ());      }      // Close the reader      r  .  close  ();      }   }   

Sortida:

SortidaSortida

Implementació de Classes lectores

Algunes de les implementacions de les classes Reader a Java s'esmenten a continuació:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Crea un qüestionari