logo

Třída Java Reader

Třída Reader v Javě je an abstraktní třída pro čtení proudů znaků. Jeho podtřídy ( FileReader BufferedReade ) poskytují implementace s read() jako hlavní metodou pro čtení znaků.

  • Implementuje rozhraní Readable, které definuje metodu read(CharBuffer cb).
  • Implementuje rozhraní Closeable, které definuje metodu close() pro uvolnění zdrojů.
čtenář_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=Čtenář

Prohlášení čtenářské třídy

Prohlášení o třídě čtenářů je uvedeno níže:

java znak na celé číslo

public abstract class Reader implementuje Readable Closeable



Příklad: Čtěte textový soubor znak po znaku pomocí třídy 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());  }  } } 

výstup:

Výstup' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-1.webp' title=výstup

Poznámka: Pro zajištění správného běhu programu vytvořte v pracovním adresáři soubor s názvem example1.txt.

Přidejte do souboru následující obsah nebo můžete přidat libovolný text.

Dobrý den, vítejte v Geeks for Geeks

seznam seřazený java

Uložte soubor a spusťte program. Program přečte a zobrazí obsah příkladu1.txtjako výstup.

Konstruktéři Reader Class

S třídou Java Reader Class se používají dva konstruktory, jak je uvedeno níže:

herec amrita rao
  • chráněná čtečka(): Vytvoří novou čtečku toku znaků, jejíž kritické sekce se budou synchronizovat na samotné čtečce.
  • chráněná čtečka (zámek objektu) : Vytvoří novou čtečku znakového proudu, jejíž kritické sekce se budou synchronizovat na daném objektu.

Metody třídy Java Reader

MetodaPopis
abstraktní void close() Zavře stream a uvolní zdroje.
void mark (int readAheadLimit) Označuje aktuální pozici ve streamu.
boolean markSupported() Zkontroluje, zda jsou podporovány operace označení/resetování.
int read() Přečte jeden znak ze streamu. Vrátí -1, pokud je dosaženo konce.
int read(char[] cbuf) Přečte více znaků do pole.
abstract int read(char[] cbuf int off int len) Přečte část pole začínající na offsetu pro délku len.
int read (cíl CharBuffer) Čte znaky do objektu CharBuffer.
void reset() Resetuje stream na poslední pozici značky.
dlouhý skok (dlouhé n) Přeskočí zadaný počet znaků.

Příklad: Níže uvedený program demonstruje fungování různých funkcí třídy Reader v Javě.

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

výstup:

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

Realizace čtenářských kurzů

Některé z implementací tříd Reader v Javě jsou uvedeny níže:

  • BufferedReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Vytvořit kvíz