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

Java ByteArrayOutputStream完全ガイド:メソッド、使い方、実践例

Java ByteArrayOutputStreamをマスターする

JavaのByteArrayOutputStream、その主要メソッド、実践例を探求し、バイトレベルの出力を効率的に行う方法を学びます。

java.ioパッケージのByteArrayOutputStreamクラスは、データを内部バイト配列に書き込み、必要に応じて自動的に拡張します。抽象OutputStreamクラスを拡張し、メモリ内バイト操作の多目的ツールとなっています。

注意: クラスは必要に応じて拡張する内部バッファを維持するため、正確なサイズがわかっていない限り、通常は容量を事前に定義する必要はありません。

ByteArrayOutputStreamの作成

ByteArrayOutputStreamを作成するには、java.io.ByteArrayOutputStreamをインポートし、インスタンス化します。デフォルトではバッファは32バイトで開始:

// デフォルトサイズ
ByteArrayOutputStream out = new ByteArrayOutputStream();

大きなペイロードが予想される場合は初期容量を指定できます:

// カスタムサイズ
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

sizeパラメータは初期バッファ長(バイト単位)を設定します。

ByteArrayOutputStreamの主要メソッド

OutputStream実装として、ByteArrayOutputStreamはいくつかの必須メソッドを提供します:

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 {
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            byte[] array = data.getBytes();
            out.write(array);
            String streamData = out.toString();
            System.out.println("出力ストリーム: " + streamData);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

出力

出力ストリーム: This is a line of text inside the string.

この例では、write()でバイト配列をストリームに転送し、toString()で蓄積データをテキストとして取得しています。

ByteArrayOutputStreamからのデータアクセス

両メソッドを実演:

import java.io.ByteArrayOutputStream;

class Main {
    public static void main(String[] args) {
        String data = "This is data.";
        try {
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            out.write(data.getBytes());
            byte[] byteData = out.toByteArray();
            System.out.print("toByteArray()使用: ");
            for (int i = 0; i < byteData.length; i++) {
                System.out.print((char) byteData[i]);
            }
            String stringData = out.toString();
            System.out.println("\ntoString()使用: " + stringData);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

出力

toByteArray()使用: This is data.
toString()使用: This is data.

各バイトを文字にキャストして表示し、基盤配列がテキストにマッピングされる様子を示しています。

close()メソッド

ByteArrayOutputStreamでclose()を呼んでも悪影響はなく、ストリームはその後も使用可能です。この振る舞いは、外部リソースを解放する必要のないメモリ内バッファの設計と一致します。

追加メソッド

メソッド説明
size()これまでに書き込まれたバイト数を返す
flush()内部バッファをリセットし、ストリームを効果的にクリア

高度な使用法については公式Java SEドキュメントを参照:Java ByteArrayOutputStream (公式ドキュメント)

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Java継承のマスター:概念、種類、実践例
  4. Java Staticネストクラスの理解:用法、違い、実例
  5. Java無名インナークラス完全ガイド:定義、構文、実践例
  6. Javaシングルトンパターン完全解説:安全な実装と活用法
  7. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  8. Java ArrayList完全マスター:操作・メソッド・ベストプラクティス
  9. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  10. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  11. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除