Java-leserklasse

Java-leserklasse

Leser-klassen i Java er en abstrakt klasse for å lese karakterstrømmer. dens underklasser ( FileReader BufretLes ) gir implementeringer med read() som hovedmetoden for å lese tegn.

  • Den implementerer det lesbare grensesnittet som definerer read(CharBuffer cb)-metoden.
  • Den implementerer Closeable-grensesnittet som definerer close()-metoden for å frigjøre ressurser.
leser_Leser

Erklæring av leserklasse

Erklæring om leserklasse er gitt nedenfor:

offentlig abstrakt klasse Leser implementerer Lesbar Lukkbar

Eksempel: Les en tekstfil tegn for tegn ved å bruke Reader-klassen.

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

Utgang:

Produksjonproduksjon

Note: For å sikre at programmet kjører riktig, oppretter du en fil som heter example1.txt i arbeidskatalogen.

Legg til følgende innhold i filen, eller du kan legge til hvilken som helst tekst.

Hei velkommen til Geeks for Geeks

Lagre filen og kjør programmet. Programmet vil lese og vise innholdet i eksempel1 .txt som utgang.

Konstruktører av leserklassen

Det er to konstruktører som brukes med Java Reader Class som nevnt nedenfor:

  • beskyttet leser(): Oppretter en ny karakterstrømleser hvis kritiske deler vil synkroniseres på selve leseren.
  • beskyttet leser (objektlås) : Oppretter en ny karakterstrømleser hvis kritiske seksjoner vil synkroniseres på det gitte objektet.

Metoder for Java Reader Class

Metode Beskrivelse
abstrakt void close() Lukker strømmen og frigjør ressurser.
void mark (int readAheadLimit) Markerer gjeldende posisjon i strømmen.
boolesk markSupported() Sjekker om markerings-/tilbakestillingsoperasjoner støttes.
int read() Leser et enkelt tegn fra strømmen. Returnerer -1 hvis slutten er nådd.
int read(char[] cbuf) Leser flere tegn i en matrise.
abstrakt int read(char[] cbuf int off int len) Leser en del av matrisen som starter med offset off for lengde len.
int read(CharBuffer-mål) Leser tegn inn i et CharBuffer-objekt.
void reset() Tilbakestiller strømmen til den siste merkeposisjonen.
langt hopp (langt n) Hopper over det angitte antallet tegn.

Eksempel: Programmet nedenfor viser hvordan ulike funksjoner i Reader-klassen fungerer i 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  ();      }   }   

Produksjon:

ProduksjonProduksjon

Gjennomføring av Leserklasser

Noen av implementeringene av Reader-klasser i Java er nevnt nedenfor:

  • Bufret Reader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Lag quiz