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

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

BufferedReaderКлас java.ioпакета може бути використаний з іншими читачами більш ефективно зчитувати дані (в символах).

Це розширює абстрактний клас Reader.

Робота BufferedReader

BufferedReaderПідтримує внутрішній буфер 8192 символів .

Під час операції зчитування в BufferedReader, частина символів зчитується з диска і зберігається у внутрішньому буфері. А з внутрішнього буфера символи читаються індивідуально.

Отже, кількість зв'язку на диск зменшується. Ось чому читання символів відбувається швидше 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).

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