Java olvasó osztály

Java olvasó osztály

A Java Reader osztály egy absztrakt osztály karakterfolyamok olvasásához. Az alosztályai ( FileReader BufferedReade ) olyan implementációkat biztosít, amelyeknél az read() a karakterek olvasásának fő módszere.

  • Megvalósítja az Olvasható felületet, amely meghatározza a read(CharBuffer cb) metódust.
  • Megvalósítja a Closeable felületet, amely meghatározza a close() metódust az erőforrások felszabadításához.
olvasó_Olvasó

Nyilatkozat az olvasói osztályról

Az olvasói osztály nyilatkozata az alábbiakban található:

public abstract class Reader valósítja meg Readable Closeable

Példa: Olvassa el a szövegfájlt karakterenként a Reader osztály segítségével.

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

Kimenet:

Kimenetkimenet

Jegyzet: A program megfelelő futásának biztosítása érdekében hozzon létre egy example1.txt nevű fájlt a munkakönyvtárban.

Adja hozzá a következő tartalmat a fájlhoz, vagy hozzáadhat bármilyen szöveget.

Üdvözöljük a Geeks for Geeks oldalán

Mentse el a fájlt és futtassa a programot. A program beolvassa és megjeleníti az example1 tartalmát .txt kimenetként.

Az olvasói osztály építői

A Java Reader Class két konstruktort használ, amint azt alább említettük:

  • védett olvasó(): Létrehoz egy új karakterfolyam-olvasót, amelynek kritikus részei szinkronizálódnak magával az olvasóval.
  • védett olvasó (objektumzár) : Létrehoz egy új karakterfolyam-olvasót, amelynek kritikus részei szinkronizálódnak az adott objektumon.

A Java Reader osztály módszerei

Módszer Leírás
absztrakt üres bezárás() Bezárja az adatfolyamot és felszabadítja az erőforrásokat.
üres jel (int readAheadLimit) Megjelöli az aktuális pozíciót az adatfolyamban.
logikai markSupported() Ellenőrzi, hogy a kijelölés/visszaállítás műveletek támogatottak-e.
int read() Egyetlen karaktert olvas be az adatfolyamból. -1-et ad vissza, ha elérjük a végét.
int read(char[] cbuf) Több karaktert beolvas egy tömbbe.
absztrakt int read(char[] cbuf int off int len) Beolvassa a tömb egy részét a len hosszúság eltolásától kezdve.
int read (CharBuffer cél) Beolvassa a karaktereket egy CharBuffer objektumba.
void reset() Visszaállítja az adatfolyamot a legutóbbi jelölés pozíciójára.
hosszú kihagyás (hosszú n) Kihagyja a megadott számú karaktert.

Példa: Az alábbi program bemutatja a Reader osztály különféle funkcióinak működését Java nyelven.

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

Kimenet:

KimenetKimenet

Olvasóosztályok megvalósítása

Az alábbiakban megemlítjük a Reader osztályok Java-beli megvalósításait:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Kvíz létrehozása