Java Reader Class

Java Reader Class

Razred Reader v Javi je abstraktni razred za branje tokov znakov. Njegovi podrazredi ( FileReader BufferedReade ) zagotavlja implementacije z read() kot glavno metodo za branje znakov.

  • Implementira vmesnik Readable, ki definira metodo read(CharBuffer cb).
  • Izvaja vmesnik Closeable, ki definira metodo close() za sprostitev virov.
bralec_Bralec

Izjava o razredu bralcev

Deklaracija razreda Reader je podana spodaj:

javni abstraktni razred Reader implementira Readable Closeable

primer: Preberite besedilno datoteko znak za znakom z uporabo razreda 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  ());      }      }   }   

Izhod:

Izhodizhod

Opomba: Da zagotovite pravilno delovanje programa, v delovnem imeniku ustvarite datoteko z imenom example1.txt.

V datoteko dodajte naslednjo vsebino ali pa lahko dodate poljubno besedilo.

Pozdravljeni, dobrodošli v Geeks for Geeks

Shranite datoteko in zaženite program. Program bo prebral in prikazal vsebino primera1 .txt kot izhod.

Konstruktorji razreda Reader

Z razredom Java Reader Class se uporabljata dva konstruktorja, kot je navedeno spodaj:

  • zaščiten bralec(): Ustvari nov bralnik toka znakov, katerega kritični deli se bodo sinhronizirali na samem bralniku.
  • zaščiten bralnik (zaklepanje predmeta) : ustvari nov bralnik toka znakov, katerega kritični odseki se bodo sinhronizirali na danem objektu.

Metode Java Reader Class

Metoda Opis
abstraktna praznina zapri() Zapre tok in sprosti vire.
void mark(int readAheadLimit) Označuje trenutni položaj v toku.
boolean markSupported() Preveri, ali so podprte operacije označevanja/ponastavitve.
int read() Prebere en znak iz toka. Vrne -1, če je dosežen konec.
int branje (char[] cbuf) Prebere več znakov v matriko.
abstract int read(char[] cbuf int off int len) Prebere del matrike, ki se začne pri odmiku off za dolžino len.
int branje (cilj CharBuffer) Prebere znake v objekt CharBuffer.
void reset() Ponastavi tok na zadnji položaj oznake.
dolg preskok (dolg n) Preskoči določeno število znakov.

primer: Spodnji program prikazuje delovanje različnih funkcij razreda Reader v Javi.

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

Izhod:

IzhodIzhod

Izvedba bralnih razredov

Nekatere izvedbe razredov Reader v Javi so omenjene spodaj:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Ustvari kviz