- java.lang.Object
-
- java.io.OutputStream
-
- java.io.ByteArrayOutputStream
-
- すべての実装されたインタフェース:
Closeable
,Flushable
,AutoCloseable
public class ByteArrayOutputStream extends OutputStream
データがバイト配列に書き込まれる出力ストリームを実装します。 データが書き込まれるに従って、バッファは自動的に大きくなっていきます。 データは、toByteArray()
とtoString()
を使用して取得できます。ByteArrayOutputStream
を閉じても、何の影響もありません。IOException
を生成せずにストリームが閉じられたあとで、このクラスのメソッドを呼び出すことができます。- 導入されたバージョン:
- 1.0
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 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 charsetName)
指定されたcharset
を使用してバイトをデコードすることで、バッファの内容を文字列に変換します。void
write(byte[] b, int off, int len)
指定されたバイト配列のオフセット位置off
から始まるlen
バイトをこのバイト配列出力ストリームに書き込みます。void
write(int b)
指定されたバイトを、バイト配列出力ストリームに書き込みます。void
writeTo(OutputStream out)
このバイト配列出力ストリームのすべての内容を、指定された出力ストリーム引数に書き込みます。これはout.write(buf, 0, count)
を使って出力ストリームのwriteメソッドを呼び出すのと同じです。-
クラス java.lang.Objectから継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
クラス java.io.OutputStreamから継承されたメソッド
flush, write
-
-
-
-
コンストラクタの詳細
-
ByteArrayOutputStream
public ByteArrayOutputStream()
バイト配列出力ストリームを新しく作成します。 バッファ容量の初期値は32バイトですが、このサイズは必要に応じて大きくなります。
-
ByteArrayOutputStream
public ByteArrayOutputStream(int size)
バイト数で指定されたサイズのバッファを持つ、バイト配列出力ストリームを新しく作成します。- パラメータ:
size
- 初期サイズ。- 例外:
IllegalArgumentException
- サイズが負の値の場合。
-
-
メソッドの詳細
-
write
public void write(int b)
指定されたバイトを、バイト配列出力ストリームに書き込みます。- 定義:
write
、クラス:OutputStream
- パラメータ:
b
- 書き込まれるバイト。
-
write
public void write(byte[] b, int off, int len)
指定されたバイト配列のオフセット位置off
から始まるlen
バイトをこのバイト配列出力ストリームに書き込みます。- オーバーライド:
write
、クラス:OutputStream
- パラメータ:
b
- データ。off
- データの開始オフセット。len
- 書き込むバイト数。
-
writeTo
public void writeTo(OutputStream out) throws IOException
このバイト配列出力ストリームのすべての内容を、指定された出力ストリーム引数に書き込みます。これはout.write(buf, 0, count)
を使って出力ストリームのwriteメソッドを呼び出すのと同じです。- パラメータ:
out
- データを書き込む出力ストリーム。- 例外:
IOException
- 入出力エラーが発生した場合。
-
reset
public void reset()
このバイト配列出力ストリームのcount
フィールドをゼロにリセットします。その結果、現在出力ストリームに蓄積されているすべての出力が破棄されます。 この出力ストリームは、すでに割り当てられているバッファ・スペースを使って、再度使用することができます。
-
toByteArray
public byte[] toByteArray()
メモリーを割り当ててバイト配列を新しく作成します。 配列のサイズは現在の出力ストリームと同じで、バッファの中の有効データはここにコピーされます。- 戻り値:
- 出力ストリームの現在の内容をバイト配列として返す。
- 関連項目:
size()
-
size
public int size()
バッファの現在のサイズを返します。- 戻り値:
count
フィールドの値。出力ストリームの中の有効バイト数を表す。- 関連項目:
count
-
toString
public String toString()
プラットフォームのデフォルトの文字セットを使用してバイトをデコードしながら、バッファの内容を文字列に変換します。 新しいString
の長さは文字セットによって変化するため、バッファのサイズと一致しないことがあります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、プラットフォームのデフォルトの文字セット用の、デフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、CharsetDecoderクラスを使用する必要があります。
-
toString
public String toString(String charsetName) throws UnsupportedEncodingException
指定されたcharset
を使用してバイトをデコードすることで、バッファの内容を文字列に変換します。 新しいString
の長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoder
クラスを使用する必要があります。- パラメータ:
charsetName
- サポートされているcharset
の名前- 戻り値:
- バッファの内容からデコードされた文字列。
- 例外:
UnsupportedEncodingException
- 指定された文字セットがサポートされていない場合- 導入されたバージョン:
- 1.1
-
toString
@Deprecated 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
を生成せずにストリームが閉じられたあとで、このクラスのメソッドを呼び出すことができます。- 定義:
close
、インタフェース:AutoCloseable
- 定義:
close
、インタフェース:Closeable
- オーバーライド:
close
、クラス:OutputStream
- 例外:
IOException
- 入出力エラーが発生した場合。
-
-