public class FastByteArrayOutputStream
extends java.io.OutputStreamByteArrayOutputStream のスピーディーな代替。このバリアントは、兄弟の ResizableByteArrayOutputStream とは異なり、ByteArrayOutputStream を継承しないことに注意してください。ByteArrayOutputStream とは異なり、この実装は、byte[] のサイズを常に変更する 1 つではなく、byte[] の LinkedList によってサポートされています。拡張されたときにバッファをコピーしません。
初期バッファは、ストリームが最初に書き込まれたときにのみ作成されます。writeTo(OutputStream) メソッドで内容が抽出される場合、内部バッファのコピーもありません。
resize(int), ResizableByteArrayOutputStream| コンストラクターと説明 |
|---|
FastByteArrayOutputStream()256 バイトのデフォルトの初期容量で新しい FastByteArrayOutputStream を作成します。 |
FastByteArrayOutputStream(int initialBlockSize) 指定された初期容量で新しい FastByteArrayOutputStream を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | close() |
java.io.InputStream | getInputStream()InputStream を取得して、この OutputStream のデータを取得します。 |
void | reset() この FastByteArrayOutputStream の内容をリセットします。 |
void | resize(int targetCapacity) 内部バッファのサイズを指定された容量に変更します。 |
int | size() この FastByteArrayOutputStream に格納されているバイト数を返します。 |
byte[] | toByteArray() 新しく割り当てられたバイト配列を作成します。 |
byte[] | toByteArrayUnsafe() ストリームのデータをバイト配列に変換し、バイト配列を返します。 |
java.lang.String | toString() プラットフォームのデフォルトの文字セットを使用して、バッファーの内容を文字列デコードバイトに変換します。 |
void | write(byte[] data, int offset, int length) |
void | write(int datum) |
void | writeTo(java.io.OutputStream out) 指定された OutputStream にバッファーの内容を書き込みます。 |
public FastByteArrayOutputStream()
FastByteArrayOutputStream を作成します。public FastByteArrayOutputStream(int initialBlockSize)
FastByteArrayOutputStream を作成します。initialBlockSize - バイト単位の初期バッファサイズ public void write(int datum)
throws java.io.IOExceptionjava.io.OutputStream の write java.io.IOExceptionpublic void write(byte[] data,
int offset,
int length)
throws java.io.IOExceptionjava.io.OutputStream の write java.io.IOExceptionpublic void close()
java.io.Closeable 内の close java.lang.AutoCloseable 内の close java.io.OutputStream の close public java.lang.String toString()
このメソッドは常に、不正な形式の入力およびマップ不可能な文字シーケンスを、プラットフォームのデフォルトの文字セットのデフォルトの置換文字列に置き換えます。CharsetDecoder クラスは、デコードプロセスをさらに制御する必要がある場合に使用する必要があります。
java.lang.Object の toString public int size()
FastByteArrayOutputStream に格納されているバイト数を返します。public byte[] toByteArrayUnsafe()
また、メモリを節約するために内部構造をバイト配列に置き換えます。バイト配列が作成されている場合は、使用することに注意してください。また、このアプローチは、間に書き込みを行わずにこのメソッドを 2 回呼び出すと、2 番目の呼び出しは何もしないことを意味します。
このメソッドは内部バッファを返すため、「安全ではありません」。呼び出し元は、返されたバッファを変更しないでください。
size(), toByteArray()public byte[] toByteArray()
そのサイズは、この出力ストリームの現在のサイズであり、バッファーの有効な内容がそこにコピーされています。
size(), toByteArrayUnsafe()public void reset()
FastByteArrayOutputStream の内容をリセットします。出力ストリームに現在蓄積されているすべての出力は破棄されます。出力ストリームは再び使用できます。
public java.io.InputStream getInputStream()
InputStream を取得して、この OutputStream のデータを取得します。OutputStream でメソッドが呼び出された場合(書き込みメソッド、reset()、toByteArray()、toByteArrayUnsafe() のいずれかを含むがこれらに限定されない)、InputStream の動作は定義されていないことに注意してください。
InputStream public void writeTo(java.io.OutputStream out)
throws java.io.IOExceptionout - 書き込む OutputStreamjava.io.IOExceptionpublic void resize(int targetCapacity)
targetCapacity - 必要なバッファのサイズ java.lang.IllegalArgumentException - 指定された容量が、すでにバッファに保存されているコンテンツの実際のサイズよりも小さい場合 size()