Руководство по Java BufferedWriter

Изучите основы BufferedWriter, создание его экземпляра, внутренний размер буфера и запись содержимого в файл на Java с помощью BufferedWriter. Вы можете использовать пример как шаблон и повторно использовать или переписывать их в зависимости от требований приложения.

1. Класс BufferedWriter

Класс BufferedWriter применяет буферизацию данных перед записью текста в поток вывода символов. Буферизация помогает эффективно записывать отдельные символы, массивы и строки.

Во время операций записи символы сначала записываются во внутренний буфер буферизированного писателя. После заполнения внутреннего буфера или закрытия писателя все символы в буфере записываются на диск. Это минимизирует количество операций записи, тем самым повышая производительность.

Буферизованный писатель:

  • является подклассом класса java.io.Writer.
  • поддерживает внутренний буфер объемом 8192 символа.
  • используется для того, чтобы сделать низкоуровневые классы, такие как FileWriter, более эффективными и простыми в использовании.
  • использует относительно большие фрагменты данных одновременно, тем самым минимизируя количество операций записи для повышения производительности.

1.1 Создание BufferedWriter

Как было сказано ранее, оберните экземпляр FileWriter в объект BufferedWriter.

BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"));

1.2.Настройка размера буфера

Чтобы настроить размер буфера по умолчанию, передайте новый размер в его конструктор.

Размер буфера по умолчанию является наилучшим в большинстве случаев. Если вы настраиваете его, будьте осторожны с новым размером. Очень большой или очень маленький буфер может фактически снизить производительность. Поэтому вам нужно протестировать его для разных размеров, а затем выбрать тот, который лучше всего подходит вам.

BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"), 65536); //64 KB

2. Запись с помощью BufferedWriter

Класс FileWriter предназначен для записи потоков символов. Используйте один из методов write():

  • write() – записывает один символ во внутренний буфер записи
  • write(char[] array) – записывает символы из указанного массива во внутренний буфер писателя
  • write(String data) – записывает указанную строку во внутренний буфер записи

В данном примере мы записываем строку в файл с помощью BufferedWriter.

 String string = "Привет, ученик!! Добро пожаловать на howtodoinjava.com.";Файл outFile = new File("c:/temp/samplefile.txt");если(!файл.существует()) {файл.createNewFile();}try(FileWriter fw = new FileWriter(outFile);BufferedWriter bw = new BufferedWriter(fw);) {bw.write(строка);}поймать(IOException e) {e.printStackTrace();}

3. Заключение

В этом уроке Java мы научились создавать BufferedWriter с внутренними буферами по умолчанию и пользовательскими размерами. Мы также научились записывать данные в файл с его помощью.

Исходный код на Github

Прокрутить вверх