Изучите основы 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 с внутренними буферами по умолчанию и пользовательскими размерами. Мы также научились записывать данные в файл с его помощью.