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

Java ByteArrayOutputStream クラス

Java ByteArrayOutputStream クラス

このチュートリアルでは、例を使用して Java ByteArrayOutputStream とそのメソッドについて学習します。

ByteArrayOutputStream java.io のクラス パッケージを使用して、出力データの配列 (バイト単位) を書き込むことができます。

OutputStream を拡張します 抽象クラス。

注意 :ByteArrayOutputStream で データを格納するためのバイトの内部配列を維持します。


ByteArrayOutputStream を作成する

バイト配列出力ストリームを作成するには、java.io.ByteArrayOutputStream をインポートする必要があります 最初にパッケージ。パッケージをインポートしたら、出力ストリームを作成する方法を次に示します。

// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();

ここでは、デフォルト サイズ 32 バイトのバイト配列にデータを書き込む出力ストリームを作成しました。ただし、配列のデフォルト サイズは変更できます。

// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

ここでは、サイズ 配列の長さを指定します。


ByteArrayOutputStream のメソッド

ByteArrayOutputStream クラスは、OutputStream に存在するさまざまなメソッドの実装を提供します クラス。

write() メソッド

例:データを書き込む ByteArrayOutputStream

import java.io.ByteArrayOutputStream;

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

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

    try {
      // Creates an output stream
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      byte[] array = data.getBytes();

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

      // Retrieves data from the output stream in string format
      String streamData = out.toString();
      System.out.println("Output stream: " + streamData);

      out.close();
    }

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

出力

Output stream: This is a line of text inside the string.

上記の例では、output という名前のバイト配列出力ストリームを作成しました。 .

ByteArrayOutputStream output = new ByteArrayOutputStream();

データを出力ストリームに書き込むために、 write() を使用しました メソッド。

注意 :getBytes() プログラムで使用されるメソッドは、文字列をバイト配列に変換します。


ByteArrayOutputStream からデータにアクセス

たとえば、

import java.io.ByteArrayOutputStream;

class Main {
  public static void main(String[] args) {
    String data = "This is data.";

    try {
      // Creates an output stream
      ByteArrayOutputStream out = new ByteArrayOutputStream();

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

      // Returns an array of bytes
      byte[] byteData = out.toByteArray();
      System.out.print("Data using toByteArray(): ");
      for(int i=0; i<byteData.length; i++) {
        System.out.print((char)byteData[i]);
      }

      // Returns a string
      String stringData = out.toString();
      System.out.println("\nData using toString(): " + stringData);

      out.close();
    }

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

出力

Data using toByteArray(): This is data.
Data using toString(): This is data.

上記の例では、toByteArray() によって返されたデータを格納するためのバイト配列を作成しました。 メソッド。

次に、for ループを使用して配列の各バイトにアクセスしました。ここでは、型キャストを使用して、各バイトが対応する文字に変換されます。


close() メソッド

出力ストリームを閉じるには、 close() を使用できます メソッド。

ただし、close() メソッドは ByteArrayOutputStream では効果がありません クラス。 close() の後でも、このクラスのメソッドを使用できます。 メソッドが呼び出されます。


ByteArrayOutputStream のその他のメソッド

メソッド 説明
size() 出力ストリーム内の配列のサイズを返します
flush() 出力ストリームをクリアします

詳細については、Java ByteArrayOutputStream (公式の 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 ファイル クラス