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

Класс BufferedOutputStream в Java

Класс BufferedOutputStream

В этом руководстве мы узнаем о Java BufferedOutputStream и его методах с помощью примеров.

BufferedOutputStream класс java.io package используется с другими потоками вывода для более эффективной записи данных (в байтах).

Он расширяет OutputStream абстрактный класс.

<час>

Работа BufferedOutputStream

BufferedOutputStream поддерживает внутренний буфер размером 8192 байта .

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

Следовательно, количество обращений к диску уменьшается. Вот почему запись байтов выполняется быстрее с использованием BufferedOutputStream. .

<час>

Создать BufferedOutputStream

Чтобы создать BufferedOutputStream , мы должны импортировать java.io.BufferedOutputStream пакет первый. Как только мы импортируем пакет, мы можем создать поток вывода.

// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferOutputStream(file);

В приведенном выше примере мы создали BufferdOutputStream названный буфер с FileOutputStream названный файл .

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

// Creates a BufferedOutputStream with specified size internal buffer
BufferedOutputStream buffer = new BufferOutputStream(file, int size);

буфер поможет быстрее записывать байты в файлы.

<час>

Методы BufferedOutputStream

BufferedOutputStream class предоставляет реализации для различных методов в OutputStream класс.

Метод записи()

Пример:BufferedOutputStream для записи данных в файл

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a line of text inside the file";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream("output.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream output = new BufferedOutputStream(file);

            byte[] array = data.getBytes();

            // Writes data to the output stream
            output.write(array);
            output.close();
        }

        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

В приведенном выше примере мы создали буферизованный поток вывода с именем output. вместе с FileOutputStream . Выходной поток связан с файлом output.txt. .

FileOutputStream file = new FileOutputStream("output.txt");
BufferedOutputStream output = new BufferedOutputStream(file);

Для записи данных в файл мы использовали write() метод.

Здесь, когда мы запускаем программу, файл output.txt файл заполнен следующим содержимым.

This is a line of text inside the file.

Примечание :getBytes() метод, используемый в программе, преобразует строку в массив байтов.

<час>

метод смыва()

Чтобы очистить внутренний буфер, мы можем использовать flush() метод. Этот метод заставляет поток вывода записывать все данные, имеющиеся в буфере, в файл назначения. Например,

import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a demo of the flush method";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream(" flush.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream buffer = new BufferedOutputStream(file);

            // Writes data to the output stream
            buffer.write(data.getBytes());

            // Flushes data to the destination
            buffer.flush();
            System.out.println("Data is flushed to the file.");
            buffer.close();
        }

        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Вывод

Data is flushed to the file.

Когда мы запускаем программу, файл flush.txt заполняется текстом, представленным строкой data .

<час>

Метод close()

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

Чтобы узнать больше, посетите страницу Java BufferedOutputStream (официальная документация по Java).


java

  1. Окончательное ключевое слово Java
  2. Оператор экземпляра Java
  3. Наследование Java
  4. Вложенный статический класс Java
  5. Анонимный класс Java
  6. Одноэлементный класс Java
  7. Java-отражение
  8. Класс Java ObjectOutputStream
  9. Дженерики Java
  10. Класс файла Java