Класс BufferedReader в Java
Буферизованные считыватели предпочтительнее для более сложных задач, таких как файловые и потоковые считыватели. Он оптимизирует ввод и вывод, уменьшая количество вызовов в native API. Буферизация чтения позволяет считывать большие объемы с диска и копировать их в гораздо более оперативное запоминающее устройство (память произвольного доступа) для повышения производительности по нескольким сетевым связям или чтениям на диске с помощью каждой команды чтения в противном случае.
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
Размер буфера
Можно указать размер буфера или использовать размер по умолчанию. Значение по умолчанию достаточно велико для большинства целей. Размер буфера по умолчанию 8192 символов может быть переопределен создателем потока.
Следующая программа Java считывает ввод с консоли и отображает ее с помощью BufferedReader:
import Java.util.*; import Java.io.*; public class TestClass{ public static void main(String[] args) { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(System.in)); String str; str = br.readLine(); System.out.println("You entered :: " + str); } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null) br.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }
Следующая Java-программа считывает текст из внешнего файла и отображает текст с использованием BufferedReader:
import Java.util.*; import Java.io.*; public class TestClass{ public static void main(String[] args) { BufferedReader br = null; try { String line; br = new BufferedReader(new FileReader("D:\\test.txt")); while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null) br.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }