Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java BufferedWriter: эффективный символьный I/O

Java BufferedWriter

Класс BufferedWriter в пакете java.io оборачивает другой Writer для обеспечения эффективного символьного вывода. Буферизация данных в памяти снижает затратные дисковые I/O операции.


Как работает BufferedWriter

Класс поддерживает внутренний буфер 8192 символов (размер по умолчанию). При записи данные сначала помещаются в буфер. Когда буфер заполняется или писатель закрывается, содержимое сбрасывается в базовый поток.

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


Создание BufferedWriter

Импортируйте класс и создайте BufferedWriter, оборачивая FileWriter (или любой другой Writer):

FileWriter file = new FileWriter("output.txt");
BufferedWriter buffer = new BufferedWriter(file);

Буфер по умолчанию 8192 символа, но можно задать свой размер:

BufferedWriter buffer = new BufferedWriter(file, 16384); // 16KB буфер

Методы BufferedWriter

write()

Пример: запись в файл

import java.io.FileWriter;
import java.io.BufferedWriter;

public class Main {
    public static void main(String[] args) {
        String data = "This is the data in the output file";
        try {
            FileWriter file = new FileWriter("output.txt");
            BufferedWriter out = new BufferedWriter(file);
            out.write(data);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Результирующий output.txt содержит указанную строку.

flush()

Принудительно сбрасывает буферизованные данные в базовый поток немедленно.

out.flush(); // записывает буферизованные символы в файл

close()

Закрывает писатель и освобождает системные ресурсы. После close() писатель нельзя использовать снова.


Другие полезные методы

МетодОписание
newLine()Вставляет платформозависимый разделитель строки.
append(char c)Добавляет один символ.
append(CharSequence csq)Добавляет последовательность символов.

Полный API: официальная документация Java BufferedWriter.

java

  1. Ключевое слово final в Java: переменные, методы и классы
  2. Оператор instanceof в Java: полное руководство с примерами
  3. Статические вложенные классы в Java: использование, отличия и примеры
  4. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
  5. Паттерн Singleton в Java: как реализовать и безопасно использовать
  6. Рефлексия в Java: инспекция классов, методов и полей во время выполнения
  7. Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
  8. Освоение Java BufferedReader: эффективная обработка символьных потоков
  9. Освоение Java Generics: создание переиспользуемого, типобезопасного кода
  10. Мастерство файловых операций в Java с java.io: создание, чтение, запись и удаление