Читатель Java (с примером)

В этом руководстве мы узнаем о Java Reader, его подклассах и методах с помощью примера.

ReaderКласс java.ioпакета является абстрактным суперкласса , который представляет собой поток символов.

Поскольку Readerэто абстрактный класс, он бесполезен сам по себе. Однако его подклассы можно использовать для чтения данных.

Подклассы Reader

Чтобы использовать функциональность Reader, мы можем использовать его подклассы. Некоторые из них:

  • BufferedReader
  • InputStreamReader
  • FileReader
  • StringReader

Мы узнаем обо всех этих подклассах в следующем уроке.

Создать читателя

Чтобы создать файл Reader, мы должны java.io.Readerсначала импортировать пакет. Как только мы импортируем пакет, мы можем создать читателя.

 // Creates a Reader Reader input = new FileReader(); 

Здесь мы создали читателя, используя FileReaderкласс. Потому что Readerэто абстрактный класс. Следовательно, мы не можем создать объект Reader.

Примечание . Мы также можем создавать программы чтения из других подклассов Reader.

Методы чтения

ReaderКласс предоставляет различные методы, которые реализуются его подклассов. Вот некоторые из наиболее часто используемых методов:

  • ready() - проверяет, готов ли читатель к чтению
  • read(char() array) - считывает символы из потока и сохраняет в указанном массиве
  • read(char() array, int start, int length) - считывает из потока количество символов, равное длине, и сохраняет в указанном массиве, начиная с начала
  • mark() - отмечает позицию в потоке, до которой были прочитаны данные
  • reset() - возвращает элемент управления в точку в потоке, где установлена ​​отметка
  • skip() - отбрасывает указанное количество символов из потока

Пример: Reader, использующий FileReader

Вот как мы можем реализовать Readerэтот FileReaderкласс.

Предположим, у нас есть файл с именем input.txt со следующим содержимым.

 This is a line of text inside the file. 

Попробуем прочитать этот файл с помощью FileReader(подкласс Reader).

 import java.io.Reader; import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Вывод

Есть ли данные в потоке? true Данные в потоке: это строка текста внутри файла.

В приведенном выше примере мы создали средство чтения с помощью FileReaderкласса. Читалка связана с файлом input.txt .

 Reader input = new FileReader("input.txt"); 

Для чтения данных из файла input.txt мы реализовали эти методы.

 input.read(); // to read data from the reader input.close(); // to close the reader 

Чтобы узнать больше, посетите Java Reader (официальная документация по Java).

Интересные статьи...