JavaA2Z

KAB-studio > プログラミング > JavaA2Z > ByteArrayOutputStreamとは

ByteArrayOutputStream

日本語 バイト配列出力流れ
英語 byte array output stream
ふりがな ばいとあれいあうとぷっとすとりーむ
フリガナ バイトアレイアウトプットストリーム

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.io.ByteArrayOutputStream。
ストリームクラスOutputStreamクラスサブクラスであり、バイト出力ストリームクラスである。
バイト出力ストリームクラスの中では「出力先」に位置する。
 
byte配列を出力先とするクラス
通常、バイト出力ストリームファイルソケットを出力先とするが、ByteArrayOutputStreamクラスbyte[]変数、つまりメモリを出力先とする。
ファイルソケットは対象が存在しないとアクセスできないため、その代わりとして使用する。また、文字列等のメモリ上のデータを対象とする場合にも使用する。
 
ByteArrayOutputStreamクラスコンストラクタには特に何も渡す必要はない。また、「出力先」、つまり「データ側の末端」であるため、OutputStreamクラス引数に持つコンストラクタはない。
ByteArrayOutputStreamクラスのwrite()メソッドを用いてバイトデータを書き込む。引数がひとつのwrite()メソッドは、int引数に受け取るが、実際に処理されるのはbyteのサイズのみのため、渡せる値は0x00~0xFFとなる。
書き込み先はByteArrayOutputStreamクラス内部となる。この書き込まれたバイトデータをbyte配列として取り出す場合には、toByteArray()メソッド呼び出す
処理終了後は、対象が内部にあるため、最後にclose()メソッドを呼ぶ必要はない。
また、各メソッドIOException例外を投げない。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.io.ByteArrayOutputStream;

public class Sample
{
    public static void main( String[] args )
    {
        // ByteArrayOutputStreamクラスを用意します。
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

        // バイトデータを書き込みます。
        byteArrayOutputStream.write( 0x01 );
        byteArrayOutputStream.write( 0x02 );
        byteArrayOutputStream.write( 0x03 );
        byteArrayOutputStream.write( 0xFF );
        byteArrayOutputStream.write( 0x100 );

        // 書き込まれたバイトデータをbyte型配列として取得します。
        byte[] bytes = byteArrayOutputStream.toByteArray();
        forint iF1 = 0; iF1 < bytes.length; ++iF1 )
        {
            // 出力します。
            System.out.println( "0x" + Integer.toHexString( bytes[iF1] ) + " ( " + bytes[iF1] + " )" );
        }
        // 0x1 ( 1 )
        // 0x2 ( 2 )
        // 0x3 ( 3 )
        // 0xffffffff ( -1 )
        // 0x0 ( 0 )

        // このように、書き込んだバイトデータはbyte型配列として
        // 取得できます。
        // write()メソッドはint型を受け取りますが、
        // ByteArrayOutputStreamクラスは「バイト出力ストリーム」ですので
        // byte型のサイズにしてから書き込みます。



        // ByteArrayOutputStreamクラスはclose()メソッドを
        // 呼ぶ必要はありません。
    }
}
// Sample.java
import java.io.ByteArrayOutputStream;

public class Sample
{
    public static void main( String[] args )
    {
        // ByteArrayOutputStreamクラスを用意します。
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

        // バイトデータを書き込みます。
        byteArrayOutputStream.write( 0x01 );
        byteArrayOutputStream.write( 0x02 );
        byteArrayOutputStream.write( 0x03 );
        byteArrayOutputStream.write( 0xFF );
        byteArrayOutputStream.write( 0x100 );

        // 書き込まれたバイトデータをbyte型配列として取得します。
        byte[] bytes = byteArrayOutputStream.toByteArray();
        for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
        {
            // 出力します。
            System.out.println( "0x" + Integer.toHexString( bytes[iF1] ) + " ( " + bytes[iF1] + " )" );
        }
        // 0x1 ( 1 )
        // 0x2 ( 2 )
        // 0x3 ( 3 )
        // 0xffffffff ( -1 )
        // 0x0 ( 0 )

        // このように、書き込んだバイトデータはbyte型配列として
        // 取得できます。
        // write()メソッドはint型を受け取りますが、
        // ByteArrayOutputStreamクラスは「バイト出力ストリーム」ですので
        // byte型のサイズにしてから書き込みます。



        // ByteArrayOutputStreamクラスはclose()メソッドを
        // 呼ぶ必要はありません。
    }
}

この単語を含むページ

「みだし」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/11/02
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。