logo

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_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=Lector

Declaració de classe lectora

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

pàgines del servidor java

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:

Sortida' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-1.webp' title=sortida

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.

mvc java

Hola, benvinguts a Geeks for Geeks

Deseu el fitxer i executeu el programa. El programa llegirà i mostrarà el contingut de l'exemple 1.txtcom 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ètodeDescripció
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:

int a cadena java
Sortida' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-2.webp' title=Sortida

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