Trieda Java Reader

Trieda Java Reader

Trieda Reader v Jave je an abstraktná trieda na čítanie prúdov znakov. Jeho podtriedy ( FileReader BufferedReade ) poskytujú implementácie, pričom read() je hlavnou metódou čítania znakov.

  • Implementuje rozhranie Readable, ktoré definuje metódu read(CharBuffer cb).
  • Implementuje rozhranie Closeable, ktoré definuje metódu close() na uvoľnenie zdrojov.
čitateľ_Čitateľ

Vyhlásenie čitateľskej triedy

Vyhlásenie o triede čitateľa je uvedené nižšie:

public abstract class Reader implementuje Readable Closeable

Príklad: Čítajte textový súbor znak po znaku pomocou triedy 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: Na zabezpečenie správneho chodu programu vytvorte v pracovnom adresári súbor s názvom example1.txt.

Pridajte do súboru nasledujúci obsah alebo môžete pridať ľubovoľný text.

Dobrý deň, vitajte v Geeks for Geeks

Uložte súbor a spustite program. Program prečíta a zobrazí obsah príkladu 1 .txt ako výstup.

Konštruktéri čitateľskej triedy

V triede Java Reader sa používajú dva konštruktory, ako je uvedené nižšie:

  • chránený Reader(): Vytvorí novú čítačku toku znakov, ktorej kritické časti sa budú synchronizovať na samotnej čítačke.
  • chránená čítačka (zámok objektu) : Vytvorí novú čítačku toku znakov, ktorej kritické časti sa budú synchronizovať na danom objekte.

Metódy triedy Java Reader

Metóda Popis
abstraktné void close() Zatvorí stream a uvoľní zdroje.
void mark (int readAheadLimit) Označuje aktuálnu pozíciu v streame.
boolean markSupported() Skontroluje, či sú podporované operácie označenia/resetovania.
int read() Prečíta jeden znak zo streamu. Vráti -1, ak sa dosiahne koniec.
int read(char[] cbuf) Číta viacero znakov do poľa.
abstract int read(char[] cbuf int off int len) Prečíta časť poľa začínajúcu od offsetu pre dĺžku len.
int read (cieľ CharBuffer) Číta znaky do objektu CharBuffer.
void reset() Resetuje stream na najnovšiu pozíciu značky.
dlhé preskočenie (dlhé n) Preskočí zadaný počet znakov.

Príklad: Nižšie uvedený program demonštruje fungovanie rôznych funkcií triedy Reader v jazyku 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  ();      }   }   

výstup:

VýstupVýstup

Realizácia čitateľských kurzov

Niektoré z implementácií tried Reader v jazyku Java sú uvedené nižšie:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Vytvoriť kvíz