Clase de lector Java

Clase de lector Java

La clase Reader en Java es una clase abstracta para leer secuencias de caracteres. Sus subclases ( Lector de archivos lectura tamponada ) proporcionan implementaciones en las que read() es el método principal para leer caracteres.

  • Implementa la interfaz Readable que define el método read(CharBuffer cb).
  • Implementa la interfaz Closeable que define el método close() para liberar recursos.
lector_Lector

Declaración de clase de lector

La declaración de la clase Lector se proporciona a continuación:

clase abstracta pública Lector implementa Legible Cerrable

Ejemplo: Lea un archivo de texto carácter por carácter utilizando la clase 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  ());      }      }   }   

Producción :

Producciónproducción

Nota: Para garantizar que el programa se ejecute correctamente, cree un archivo llamado ejemplo1.txt en el directorio de trabajo.

Agregue el siguiente contenido al archivo o puede agregar cualquier texto.

Hola, bienvenidos a Geeks for Geeks.

Guarde el archivo y ejecute el programa. El programa leerá y mostrará el contenido del ejemplo 1. .txt como salida.

Constructores de clase lectora

Hay dos constructores utilizados con Java Reader Class como se menciona a continuación:

  • Lector protegido(): Crea un nuevo lector de flujo de caracteres cuyas secciones críticas se sincronizarán en el propio lector.
  • Lector protegido (bloqueo de objeto) : Crea un nuevo lector de flujo de caracteres cuyas secciones críticas se sincronizarán en el objeto dado.

Métodos de la clase de lector Java

Método Descripción
cierre vacío abstracto() Cierra la transmisión y libera recursos.
marca nula (int readAheadLimit) Marca la posición actual en la secuencia.
marca booleanaSupported() Comprueba si se admiten operaciones de marca/restablecimiento.
int lectura() Lee un solo carácter de la secuencia. Devuelve -1 si se llega al final.
int leer(char[] cbuf) Lee varios caracteres en una matriz.
resumen int read(char[] cbuf int off int len) Lee una parte de la matriz comenzando en el desplazamiento de longitud len.
int read(destino CharBuffer) Lee caracteres en un objeto CharBuffer.
reinicio nulo() Restablece la transmisión a la posición de marca más reciente.
salto largo (n largo) Omite el número especificado de caracteres.

Ejemplo: El siguiente programa demuestra el funcionamiento de varias funcionalidades de la clase Reader en 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  ();      }   }   

Producción:

ProducciónProducción

Implementación de clases de lector

Algunas de las implementaciones de clases Reader en Java se mencionan a continuación:

  • Lector almacenado en búfer
  • CharArrayReader
  • Lector de filtros
  • Lector de flujo de entrada
  • lector canalizado
  • Lector de cadenas
Crear cuestionario