工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

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 クラスは OutputStream のさまざまなメソッドの実装を提供します クラス。

write() メソッド

例:ファイルにデータを書き込むための 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() メソッド

内部バッファをクリアするには、 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. JavaArrayList クラス
  9. Java ObjectOutputStream クラス
  10. Javaジェネリック
  11. Java ファイル クラス