logo

Classe di lettura Java

La classe Reader in Java è un classe astratta per leggere i flussi di caratteri. Le sue sottoclassi ( Lettore di file BufferedReade ) forniscono implementazioni con read() che è il metodo principale per leggere i caratteri.

  • Implementa l'interfaccia Readable che definisce il metodo read(CharBuffer cb).
  • Implementa l'interfaccia Closeable che definisce il metodo close() per rilasciare risorse.
lettore_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=Lettore

Dichiarazione di Classe Lettore

La dichiarazione della classe Reader è riportata di seguito:

linux quale comando

la classe astratta pubblica Reader implementa Readable Closeable



Esempio: Leggere un file di testo carattere per carattere utilizzando 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());  }  } } 

Produzione :

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

Nota: Per garantire che il programma venga eseguito correttamente, creare un file denominato esempio1.txt nella directory di lavoro.

Aggiungi il seguente contenuto al file oppure puoi aggiungere qualsiasi testo.

nuova riga in Python

Ciao benvenuto su Geeks for Geeks

Salvare il file ed eseguire il programma. Il programma leggerà e visualizzerà il contenuto dell'esempio1.txtcome uscita.

Costruttori della classe Reader

Esistono due costruttori utilizzati con Java Reader Class come indicato di seguito:

sottostringa in bash
  • Lettore protetto(): Crea un nuovo lettore di flussi di caratteri le cui sezioni critiche verranno sincronizzate sul lettore stesso.
  • Lettore protetto (blocco oggetto) : crea un nuovo lettore di flussi di caratteri le cui sezioni critiche verranno sincronizzate sull'oggetto specificato.

Metodi della classe Java Reader

MetodoDescrizione
vuoto astratto chiudi() Chiude il flusso e rilascia risorse.
void mark(int readAheadLimit) Contrassegna la posizione corrente nel flusso.
contrassegno booleanoSupportato() Controlla se le operazioni di contrassegno/reimpostazione sono supportate.
int leggere() Legge un singolo carattere dallo stream. Restituisce -1 se viene raggiunta la fine.
int read(char[] cbuf) Legge più caratteri in un array.
abstract int read(char[] cbuf int off int len) Legge una porzione dell'array a partire da offset off per la lunghezza len.
int read(destinazione CharBuffer) Legge i caratteri in un oggetto CharBuffer.
ripristino nullo() Reimposta il flusso alla posizione del contrassegno più recente.
salto lungo(lungo n) Salta il numero di caratteri specificato.

Esempio: Il programma seguente dimostra il funzionamento di varie funzionalità della classe Reader in 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();  } } 

Produzione:

Produzione' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-2.webp' title=Produzione

Implementazione di classi di lettori

Alcune delle implementazioni delle classi Reader in Java sono menzionate di seguito:

  • BufferedReader
  • CharArrayReader
  • Lettore di filtri
  • InputStreamReader
  • PipedReader
  • StringReader
Crea quiz