Java Reader Class

Java Reader Class

Класът Reader в Java е абстрактен клас за четене на символни потоци. Неговите подкласове ( FileReader BufferedReade ) осигуряват реализации с read() като основния метод за четене на знаци.

  • Той имплементира интерфейса Readable, който дефинира метода read(CharBuffer cb).
  • Той имплементира интерфейса Closeable, който дефинира метода close() за освобождаване на ресурси.
читател_Читател

Декларация на клас читател

Декларацията на клас Reader е дадена по-долу:

публичен абстрактен клас Reader имплементира Readable Closeable



Пример: Прочетете текстов файл символ по знак с помощта на класа 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  ());      }      }   }   

Изход:

Изходизход

Забележка: За да сте сигурни, че програмата работи правилно, създайте файл с име example1.txt в работната директория.

Добавете следното съдържание към файла или можете да добавите произволен текст.

Здравейте, добре дошли в Geeks for Geeks

Запазете файла и стартирайте програмата. Програмата ще прочете и покаже съдържанието на example1 .txt като изход.

Конструктори на клас Reader

Има два конструктора, използвани с Java Reader Class, както е споменато по-долу:

  • защитен четец(): Създава нов четец на символен поток, чиито критични секции ще се синхронизират в самия четец.
  • защитен четец (заключване на обект) : Създава нов четец на символен поток, чиито критични секции ще се синхронизират на дадения обект.

Методи на Java Reader Class

Метод Описание
абстрактно празно затваряне () Затваря потока и освобождава ресурси.
void mark (int readAheadLimit) Маркира текущата позиция в потока.
булево markSupported() Проверява дали операциите за маркиране/нулиране се поддържат.
int read() Чете един символ от потока. Връща -1, ако краят е достигнат.
int read(char[] cbuf) Чете няколко знака в масив.
abstract int read(char[] cbuf int off int len) Чете част от масива, започвайки от отместване за дължина len.
int read(цел на CharBuffer) Чете знаци в обект CharBuffer.
void reset() Нулира потока до позицията на най-новата маркировка.
дълго прескачане (дълго n) Пропуска определения брой знаци.

Пример: Програмата по-долу демонстрира работата на различни функционалности на класа Reader в 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  ();      }   }   

Изход:

ИзходИзход

Внедряване на класове за читатели

Някои от реализациите на класове Reader в Java са споменати по-долу:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Създаване на тест

Топ Статии

Категория

Интересни Статии