Třída Java Reader

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ář_Čtenář

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

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

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ýstupvý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

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

Konstruktéři Reader Class

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

  • 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

Metoda Popis
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ýstupVý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

Nejlepší Články

Kategorie

Zajímavé Články