【Java】バイト(byte)配列をストリームとして扱う!(ByteArrayInputStream/ByteArrayOutputStream)

バイト(byte)配列をストリームとして扱うにはByteArrayInputStreamクラスかByteArrayOutputStreamクラスかを使用します。

ByteArrayInputStreamは、バイト(byte)配列を出力ストリームとして扱うクラスであり、ByteArrayOutputStreamは、バイト(byte)配列を入力ストリームとして扱うクラスです。

InputStreamは、入力ストリームではなく、出力ストリームで、OutputStreamは、出力ストリームではなく、入力ストリームですので間違えないようにしましょう。

今回はByteArrayInputStreamクラスやByteArrayOutputStreamクラスを使って以下の場合でバイト(byte)配列をストリームとして扱っていきます。

⚫︎ バイト(byte)配列を出力ストリームとして扱う場合
⚫︎ バイト(byte)配列を入力ストリームとして扱う場合

ByteArrayInputStreamクラスとは

ByteArrayInputStreamクラスとは、バイト配列を出力ストリームとして使用するクラスになります。

ByteArrayInputStreamクラスの書き方

ByteArrayInputStreamクラスの構文は下記となります。

ByteArrayInputStreamクラスが使用できるようにByteArrayInputStreamをインポートします。

ByteArrayOutputStreamクラスとは

ByteArrayOutputStreamクラスとはとは、バイト配列を入力ストリームとして使用するクラスになります。

ByteArrayOutputStreamクラスの書き方

ByteArrayOutputStreamクラスの構文は下記となります。

ByteArrayOutputStreamクラスが使用できるようにByteArrayOutputStreamをインポートします。

バイト配列をストリームとして扱うサンプルコード

バイト配列をストリームとして扱うサンプルコードを紹介します。

バイト配列を入力ストリームとして扱う場合

出力結果

・バイト出力ストリームに書き込んだ内容:12345ABCDE

ByteArrayOutputStreamクラスによってバイト(byte)配列を入力ストリームとして扱っています。

バイト配列を出力ストリームとして扱う場合

出力結果

・バイト入力ストリームから読み込んだ内容:12345ABCDE

ByteArrayInputStreamクラスによってバイト(byte)配列を出力ストリームとして扱っています。

今回のポイント

ByteArrayOutputStreamでバイト配列を入力ストリームとして扱う

バイト配列を入力ストリームとして扱うにはByteArrayOutputStreamlクラスを使用する「

⚫︎ ByteArrayOutputStreamクラスを使うと、バイト配列を出力ストリームとして使用することができる

⚫︎ 「ByteArrayOutputStream」クラスの出力先はメモリ内で、ストリームを閉じてもメモリ内には値が保持され続けるcloseメソッドを呼び出す必要はない

ByteArrayInputStreamでバイト配列を出力ストリームとして扱う

バイト配列を出力ストリームとして扱うにはByteArrayInputStreamクラスを使用する

⚫︎ ByteArrayInputStreamクラスを使うと、バイト配列を入力ストリームとして使用することができる

⚫︎ ByteArrayInputStreamクラスの入力先はメモリ内で、ストリームを閉じてもメモリ内には値が保持され続ける為、closeメソッドを呼び出す必要はない

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報