В този урок ще научим за 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
В 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).








