У цьому посібнику ми дізнаємося про 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).