Java lasītāju klase

Java lasītāju klase

Reader klase Java ir abstraktā klase rakstzīmju straumju lasīšanai. Tās apakšklases ( FileReader BufferedReade ) nodrošina implementācijas, kurās read() ir galvenā rakstzīmju lasīšanas metode.

  • Tas ievieš lasāmo saskarni, kas definē lasīšanas (CharBuffer cb) metodi.
  • Tas ievieš Closeable saskarni, kas definē close() metodi resursu atbrīvošanai.
lasītājs_Lasītājs

Lasītāju klases deklarācija

Lasītāju klases deklarācija ir dota zemāk:

public abstract class Reader ievieš Readable Closeable

Piemērs: Lasiet teksta failu rakstzīmi pēc rakstzīmes, izmantojot Reader klasi.

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

Izvade:

Izvadeizvade

Piezīme: Lai nodrošinātu programmas pareizu darbību, darba direktorijā izveidojiet failu ar nosaukumu example1.txt.

Pievienojiet failam šādu saturu vai varat pievienot jebkuru tekstu.

Sveiki, laipni lūdzam Geeks for Geeks

Saglabājiet failu un palaidiet programmu. Programma nolasīs un parādīs 1. piemēra saturu .txt kā izvade.

Lasītāju klases konstruktori

Kopā ar Java Reader Class tiek izmantoti divi konstruktori, kā minēts tālāk:

  • aizsargāts lasītājs (): Izveido jaunu rakstzīmju straumes lasītāju, kura kritiskās sadaļas tiks sinhronizētas ar pašu lasītāju.
  • aizsargāts lasītājs (objekta bloķēšana) : izveido jaunu rakstzīmju straumes lasītāju, kura kritiskās sadaļas tiks sinhronizētas ar doto objektu.

Java Reader klases metodes

Metode Apraksts
abstrakts tukšums aizvērt () Aizver straumi un atbrīvo resursus.
tukšuma atzīme (int readAheadLimit) Atzīmē pašreizējo pozīciju straumē.
Būla atzīmeSupported() Pārbauda, ​​vai tiek atbalstītas atzīmēšanas/atiestatīšanas darbības.
int lasīt () Nolasa vienu rakstzīmi no straumes. Atgriež -1, ja ir sasniegts beigas.
int lasīt (char[] cbuf) Nolasa vairākas rakstzīmes masīvā.
abstract int read(char[] cbuf int off int len) Nolasa masīva daļu, sākot ar nobīdi garuma len.
int lasīt (CharBuffer mērķis) Nolasa rakstzīmes CharBuffer objektā.
nevar atiestatīt () Atiestata straumi uz jaunāko atzīmes pozīciju.
garš izlaidums (garš n) Izlaiž norādīto rakstzīmju skaitu.

Piemērs: Zemāk esošā programma demonstrē dažādu Reader klases funkcionalitātes darbību 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  ();      }   }   

Izvade:

IzvadeIzvade

Lasītāju nodarbību īstenošana

Tālāk ir minētas dažas Reader klašu ieviešanas Java valodā:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Izveidojiet viktorīnu