Java Reader (з прикладом)

У цьому посібнику ми дізнаємося про Java Reader, його підкласи та методи за допомогою прикладу.

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

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

Підкласи Reader

Для того, щоб використовувати функціонал Reader, ми можемо використовувати його підкласи. Деякі з них:

  • BufferedReader
  • InputStreamReader
  • FileReader
  • StringReader

Про всі ці підкласи ми дізнаємось у наступному уроці.

Створіть Reader

Для того, щоб створити Reader, ми повинні java.io.Readerспочатку імпортувати пакет. Як тільки ми імпортуємо пакет, ось як ми можемо створити зчитувач.

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

Тут ми створили читач, використовуючи FileReaderклас. Це тому, що Readerє абстрактним класом. Отже, ми не можемо створити об'єкт 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).

Цікаві статті...