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) - считывает из ридера количество символов, равное длине, и сохраняет в указанном массиве, начиная с позиции start

Например, предположим, что у нас есть файл с именем 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).

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