Java Reader (с пример)

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

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