Java Reader klasė

Java Reader klasė

„Java“ skaitytuvo klasė yra abstrakti klasė personažų srautams skaityti. Jo poklasiai ( Failų skaitytuvas BufferedReade ) pateikia diegimus, kuriuose read() yra pagrindinis simbolių skaitymo būdas.

  • Tai įgyvendina skaitymo sąsają, kuri apibrėžia skaitymo (CharBuffer cb) metodą.
  • Ji įgyvendina Closeable sąsają, kuri apibrėžia close() metodą ištekliams išleisti.
skaitytojas_Skaitytojas

Skaitytojų klasės deklaracija

Skaitytojo klasės deklaracija pateikta žemiau:

public absttract class Reader įgyvendina Readable Closeable

Pavyzdys: Skaitykite tekstinį failą po simbolio naudodami Reader klasę.

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

Išvestis:

Išvestisišvestis

Pastaba: Norėdami užtikrinti, kad programa veiktų teisingai, darbo kataloge sukurkite failą, pavadintą example1.txt.

Pridėkite toliau nurodytą turinį prie failo arba galite pridėti bet kokį tekstą.

Sveiki atvykę į „Geeks for Geeks“.

Išsaugokite failą ir paleiskite programą. Programa skaitys ir parodys 1 pavyzdžio turinį .txt kaip išvestis.

Skaitytojų klasės konstruktoriai

Yra du konstruktoriai, naudojami su „Java Reader Class“, kaip nurodyta toliau:

  • apsaugotas skaitytuvas (): Sukuria naują simbolių srauto skaitytuvą, kurio kritinės skiltys bus sinchronizuojamos su pačiu skaitytuvu.
  • apsaugotas skaitytuvas (objekto užraktas) : sukuria naują simbolių srauto skaitytuvą, kurio kritinės sekcijos bus sinchronizuojamos su nurodytu objektu.

Java Reader klasės metodai

Metodas Aprašymas
abstraktus tuštumas uždaryti () Uždaro srautą ir išleidžia išteklius.
negaliojantis ženklas (int readAheadLimit) Pažymi dabartinę padėtį sraute.
loginis ženklasSupported() Patikrina, ar palaikomos žymėjimo/atstatymo operacijos.
int read () Skaito vieną simbolį iš srauto. Grąžina -1, jei pasiekiama pabaiga.
int skaityti (char[] cbuf) Skaito kelis simbolius į masyvą.
abstract int read(char[] cbuf int off int len) Nuskaito masyvo dalį, pradedant nuo poslinkio ilgio len.
int read (CharBuffer tikslas) Skaito simbolius į CharBuffer objektą.
negaliojantis atstatymas () Iš naujo nustato srautą į naujausią žymos poziciją.
ilgas praleidimas (ilgas n) Praleidžia nurodytą simbolių skaičių.

Pavyzdys: Žemiau pateikta programa demonstruoja įvairių „Reader“ klasės funkcijų veikimą „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  ();      }   }   

Išvestis:

IšvestisIšvestis

Skaitytojų klasių įgyvendinimas

Kai kurie „Java“ skaitytuvo klasių diegimai yra paminėti toliau:

  • BufferedReader
  • CharArrayReader
  • „FilterReader“.
  • InputStreamReader
  • PipedReader
  • StringReader
Sukurti viktoriną