Java BufferedReader (с примери)

В този урок ще научим за Java BufferedReader и неговите методи с помощта на примери.

В BufferedReaderкласа на java.ioпакета може да се използва с други читатели да четат данни (в знака) по-ефективно.

Той разширява абстрактния клас Reader.

Работа на BufferedReader

В BufferedReaderподдържа вътрешна буфер от 8192 знака .

По време на операцията за четене в BufferedReader, част от символите се четат от диска и се съхраняват във вътрешния буфер. И от вътрешния буфер символите се четат индивидуално.

Следователно броят на комуникацията към диска е намален. Ето защо четенето на знаци се използва по-бързо BufferedReader.

Създайте буфериран четец

За да създадем BufferedReader, първо трябва да импортираме java.io.BuferedReaderпакета. След като импортираме пакета, ето как можем да създадем четеца.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

В горния пример създадохме BufferedReaderпоименен буфер с FileReaderпосочения файл.

Тук вътрешният буфер на BufferedReaderима размер по подразбиране от 8192 знака. Можем обаче да посочим и размера на вътрешния буфер.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

Буферът ще помогне за по-бързо четене на символи от файловете.

Методи на BufferedReader

В BufferedReaderклас осигурява приложения за различни методи, присъстващи в Reader.

метод read ()

  • read() - чете един знак от вътрешния буфер на четеца
  • read(char() array) - чете символите от четеца и съхранява в посочения масив
  • read(char() array, int start, int length) - чете от четеца броя знаци, равен на дължина, и съхранява в посочения масив, започвайки от позицията старт

Да предположим например, че имаме файл с име input.txt със следното съдържание.

 This is a line of text inside the file. 

Нека се опитаме да прочетем файла с помощта на BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Изход

 Данни във файла: Това е ред с текст във файла. 

В горния пример създадохме буфериран четец с име input. Буферираният четец е свързан с файла input.txt .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Тук използвахме read()метода за четене на масив от символи от вътрешния буфер на буферирания четец.

skip () Метод

За да отхвърлим и пропуснем посочения брой знаци, можем да използваме skip()метода. Например,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Изход

 Данни след пропускане на 5 знака: е ред с текст във файла. 

В горния пример използвахме skip()метода, за да пропуснем 5 символа от четеца на файлове. Следователно, героите 'T', 'h', 'i', 's'и ' 'се пропускат от оригиналния файл.

метод close ()

За да затворим буферирания четец, можем да използваме close()метода. След като close()методът бъде извикан, не можем да използваме четеца за четене на данните.

Други методи на BufferedReader

Метод Описание
ready() проверява дали четецът на файлове е готов за четене
mark() маркирайте позицията в четеца, до която са прочетени данните
reset() връща контролата до точката в четеца, където е зададена маркировката

За да научите повече, посетете Java BufferedReader (официална документация за Java).

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