Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas Java BufferedOutputStream

Kelas Java BufferedOutputStream

Dalam tutorial ini, kita akan belajar tentang Java BufferedOutputStream dan metodenya dengan bantuan contoh.

BufferedOutputStream kelas java.io package digunakan dengan aliran keluaran lain untuk menulis data (dalam byte) dengan lebih efisien.

Ini memperluas OutputStream kelas abstrak.


Bekerja BufferedOutputStream

BufferedOutputStream mempertahankan buffer internal sebesar 8192 byte .

Selama operasi tulis, byte ditulis ke buffer internal, bukan ke disk. Setelah buffer diisi atau aliran ditutup, seluruh buffer ditulis ke disk.

Oleh karena itu, jumlah komunikasi ke disk berkurang. Inilah sebabnya mengapa menulis byte lebih cepat menggunakan BufferedOutputStream .


Buat BufferedOutputStream

Untuk membuat BufferedOutputStream , kita harus mengimpor java.io.BufferedOutputStream paket dulu. Setelah kita mengimpor paket, inilah cara kita membuat aliran keluaran.

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

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

Pada contoh di atas, kita telah membuat BufferdOutputStream bernama penyangga dengan FileOutputStream bernama file .

Di sini, buffer internal memiliki ukuran default 8192 byte. Namun, kami juga dapat menentukan ukuran buffer internal.

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

penyangga akan membantu menulis byte ke file lebih cepat.


Metode BufferedOutputStream

BufferedOutputStream class menyediakan implementasi untuk berbagai metode di OutputStream kelas.

write() Metode

Contoh:BufferedOutputStream untuk menulis data ke File

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();
        }
    }
}

Pada contoh di atas, kami telah membuat aliran keluaran buffer bernama output bersama dengan FileOutputStream . Aliran keluaran ditautkan dengan file output.txt .

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

Untuk menulis data ke file, kami telah menggunakan write() metode.

Di sini saat kita menjalankan program, output.txt file diisi dengan konten berikut.

This is a line of text inside the file.

Catatan :getBytes() metode yang digunakan dalam program mengubah string menjadi array byte.


Metode flush()

Untuk menghapus buffer internal, kita dapat menggunakan flush() metode. Metode ini memaksa aliran keluaran untuk menulis semua data yang ada di buffer ke file tujuan. Misalnya,

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();
        }
    }
}

Keluaran

Data is flushed to the file.

Saat kita menjalankan program, file flush.txt diisi dengan teks yang diwakili oleh string data .


close() Metode

Untuk menutup aliran keluaran buffer, kita dapat menggunakan close() metode. Setelah metode dipanggil, kita tidak dapat menggunakan aliran keluaran untuk menulis data.

Untuk mempelajari lebih lanjut, kunjungi Java BufferedOutputStream (dokumentasi resmi Java).


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Warisan Jawa
  4. Kelas Statis Bersarang Java
  5. Kelas Anonim Java
  6. Kelas Tunggal Jawa
  7. Refleksi Jawa
  8. Kelas Java ObjectOutputStream
  9. Java Generik
  10. Kelas File Java