Java-læserklasse

Java-læserklasse

Læserklassen i Java er en abstrakt klasse til læsning af karakterstrømme. dens underklasser ( Fillæser Bufret Læs ) leverer implementeringer med read() som hovedmetoden til at læse tegn.

  • Den implementerer den læsbare grænseflade, der definerer read(CharBuffer cb)-metoden.
  • Den implementerer Closeable-grænsefladen, der definerer close()-metoden til at frigive ressourcer.
læser_Læser

Erklæring af læserklasse

Erklæring om læserklasse er angivet nedenfor:

offentlig abstrakt klasse Læser implementerer Læsbar Lukbar

Eksempel: Læs en tekstfil tegn for tegn ved hjælp af 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  ());      }      }   }   

Output:

Produktionproduktion

Note: For at sikre at programmet kører korrekt skal du oprette en fil med navnet example1.txt i arbejdsmappen.

Tilføj følgende indhold til filen, eller du kan tilføje enhver tekst.

Hej velkommen til Geeks for Geeks

Gem filen og kør programmet. Programmet vil læse og vise indholdet af eksempel1 .txt som output.

Konstruktører af læserklasse

Der er to konstruktører brugt med Java Reader Class som nævnt nedenfor:

  • beskyttet læser(): Opretter en ny karakterstrømlæser, hvis kritiske sektioner synkroniseres på selve læseren.
  • beskyttet læser (objektlås) : Opretter en ny karakterstrømlæser, hvis kritiske sektioner synkroniseres på det givne objekt.

Metoder til Java Reader Class

Metode Beskrivelse
abstrakt void close() Lukker strømmen og frigiver ressourcer.
void mark (int readAheadLimit) Markerer den aktuelle position i strømmen.
boolesk markSupported() Kontrollerer, om markerings-/nulstillingshandlinger understøttes.
int read() Læser et enkelt tegn fra streamen. Returnerer -1, hvis slutningen er nået.
int read(char[] cbuf) Læser flere tegn ind i et array.
abstrakt int read(char[] cbuf int off int len) Læser en del af arrayet, der starter ved offset off for længden len.
int read(CharBuffer-mål) Læser tegn ind i et CharBuffer-objekt.
void reset() Nulstiller streamen til den seneste markeringsposition.
langt overspring (langt n) Springer det angivne antal tegn over.

Eksempel: Nedenstående program demonstrerer, hvordan forskellige funktioner 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  ();      }   }   

Produktion:

ProduktionProduktion

Gennemførelse af læserklasser

Nogle af implementeringerne af Reader-klasser i Java er nævnt nedenfor:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Opret quiz