JavaTM 2
Platform
Std. Ed. v1.4.0

java.io
クラス ByteArrayOutputStream

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--java.io.ByteArrayOutputStream

public class ByteArrayOutputStream
extends OutputStream

データがバイト配列に書き込まれる出力ストリームを実装します。データが書き込まれるに従って、バッファは自動的に大きくなっていきます。toByteArray()toString() を使ってデータを取り出すことができます。

ByteArrayOutputStream を閉じても、何も変化はありません。ストリームを閉じた後にこのクラスのメソッドを呼び出しても、IOException は生成されません。

導入されたバージョン:
JDK1.0

フィールドの概要
protected  byte[] buf
          データが格納されるバッファです。
protected  int count
          バッファの中の有効バイト数です。
 
コンストラクタの概要
ByteArrayOutputStream()
          バイト配列出力ストリームを新しく作成します。
ByteArrayOutputStream(int size)
          バイト数で指定されたサイズのバッファを持つ、バイト配列出力ストリームを新しく作成します。
 
メソッドの概要
 void close()
          ByteArrayOutputStream を閉じても、何も変化はありません。
 void reset()
          バイト配列出力ストリームの count フィールドをゼロにリセットします。
 int size()
          バッファの現在のサイズを返します。
 byte[] toByteArray()
          メモリを割り当ててバイト配列を新しく作成します。
 String toString()
          プラットフォームのデフォルトの文字エンコーディングに従ってバイトを文字に変換しながら、バッファの内容を文字列に変換します。
 String toString(int hibyte)
          推奨されていません。 このメソッドはバイトを文字列に適切に変換できません。JDK 1.1 現在、推奨される方法は、エンコーディング名を引数に取る toString(String enc) メソッドか、プラットフォームのデフォルトの文字エンコーディングを使用する toString() メソッドを使うことです。
 String toString(String enc)
          指定された文字エンコーディングに従ってバイトを文字に変換しながら、バッファの内容を文字列に変換します。
 void write(byte[] b, int off, int len)
          指定されたバイト配列のオフセット位置 off から始まる len バイトを、バイト配列出力ストリームに書き込みます。
 void write(int b)
          指定されたバイトを、バイト配列出力ストリームに書き込みます。
 void writeTo(OutputStream out)
          バイト配列出力ストリームのすべての内容を、指定された出力ストリーム引数に書き込みます。
 
クラス java.io.OutputStream から継承したメソッド
flush, write
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

buf

protected byte[] buf
データが格納されるバッファです。


count

protected int count
バッファの中の有効バイト数です。

コンストラクタの詳細

ByteArrayOutputStream

public ByteArrayOutputStream()
バイト配列出力ストリームを新しく作成します。バッファ容量の初期値は 32 バイトですが、このサイズは必要に応じて大きくなります。


ByteArrayOutputStream

public ByteArrayOutputStream(int size)
バイト数で指定されたサイズのバッファを持つ、バイト配列出力ストリームを新しく作成します。

パラメータ:
size - 初期サイズ
例外:
IllegalArgumentException - サイズが負の値の場合
メソッドの詳細

write

public void write(int b)
指定されたバイトを、バイト配列出力ストリームに書き込みます。

定義:
クラス OutputStream 内の write
パラメータ:
b - 書き込むバイト

write

public void write(byte[] b,
                  int off,
                  int len)
指定されたバイト配列のオフセット位置 off から始まる len バイトを、バイト配列出力ストリームに書き込みます。

オーバーライド:
クラス OutputStream 内の write
パラメータ:
b - データ
off - データの開始オフセット
len - 書き込むバイト数

writeTo

public void writeTo(OutputStream out)
             throws IOException
バイト配列出力ストリームのすべての内容を、指定された出力ストリーム引数に書き込みます。これは out.write(buf, 0, count) を使って出力ストリームの write メソッドを呼び出すのと同じです。

パラメータ:
out - データを書き込む出力ストリーム
例外:
IOException - 入出力エラーが発生した場合

reset

public void reset()
バイト配列出力ストリームの count フィールドをゼロにリセットします。この結果、現在出力ストリームに蓄積されているすべてのデータは破棄されます。この出力ストリームは、すでに割り当てられているバッファスペースを使って、再度使用することができます。

関連項目:
ByteArrayInputStream.count

toByteArray

public byte[] toByteArray()
メモリを割り当ててバイト配列を新しく作成します。配列のサイズは現在の出力ストリームと同じで、バッファの中の有効データはここにコピーされます。

戻り値:
出力ストリームの現在の内容をバイト配列として返す
関連項目:
size()

size

public int size()
バッファの現在のサイズを返します。

戻り値:
count フィールドの値。出力ストリームの中の有効バイト数を表す
関連項目:
count

toString

public String toString()
プラットフォームのデフォルトの文字エンコーディングに従ってバイトを文字に変換しながら、バッファの内容を文字列に変換します。

オーバーライド:
クラス Object 内の toString
戻り値:
バッファの内容から変換された文字列
導入されたバージョン:
JDK1.1

toString

public String toString(String enc)
                throws UnsupportedEncodingException
指定された文字エンコーディングに従ってバイトを文字に変換しながら、バッファの内容を文字列に変換します。

パラメータ:
enc - 文字エンコーディングの名前
戻り値:
バッファの内容から変換された文字列
例外:
UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合
導入されたバージョン:
JDK1.1

toString

public String toString(int hibyte)
推奨されていません。 このメソッドはバイトを文字列に適切に変換できません。JDK 1.1 現在、推奨される方法は、エンコーディング名を引数に取る toString(String enc) メソッドか、プラットフォームのデフォルトの文字エンコーディングを使用する toString() メソッドを使うことです。

新しくメモリを割り当てて文字列を作成します。文字列のサイズは現在の出力ストリームと同じにされ、バッファの中の有効データはここにコピーされます。作成される文字列の各文字データ c は、バイト配列の対応する要素 b から、次のようになります。
     c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
 

パラメータ:
hibyte - 結果の各 Unicode 文字の上位バイト
戻り値:
出力ストリームの現在の内容を表す文字列
関連項目:
size(), toString(String), toString()

close

public void close()
           throws IOException
ByteArrayOutputStream を閉じても、何も変化はありません。ストリームを閉じた後にこのクラスのメソッドを呼び出しても、IOException は生成されません。

オーバーライド:
クラス OutputStream 内の close
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.