public class FastByteArrayOutputStream extends OutputStreamSE
ByteArrayOutputStreamSE の迅速な代替。兄弟 ResizableByteArrayOutputStream とは異なり、このバリアントは ByteArrayOutputStream を継承しないことに注意してください。ByteArrayOutputStreamSE とは異なり、この実装は、常に byte[] のサイズを変更する 1 ではなく、byte[] の ArrayDequeSE によってサポートされています。展開されたときにバッファをコピーしません。
初期バッファは、ストリームが最初に書き込まれたときにのみ作成されます。また、writeTo(OutputStream) メソッドを使用してコンテンツを抽出した場合、内部バッファーのコピーはありません。
resize(int), ResizableByteArrayOutputStream| コンストラクターと説明 |
|---|
FastByteArrayOutputStream()256 バイトのデフォルトの初期容量で新しい FastByteArrayOutputStream を作成します。 |
FastByteArrayOutputStream(int initialBlockSize) 指定された初期容量で新しい FastByteArrayOutputStream を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | close() |
InputStreamSE | getInputStream()InputStreamSE を取得して、この OutputStream のデータを取得します。 |
void | reset() この FastByteArrayOutputStream の内容をリセットします。 |
void | resize(int targetCapacity) 内部バッファのサイズを指定された容量に変更します。 |
int | size() この FastByteArrayOutputStream に格納されているバイト数を返します。 |
byte[] | toByteArray() 新しく割り当てられたバイト配列を作成します。 |
byte[] | toByteArrayUnsafe() ストリームのデータをバイト配列に変換し、バイト配列を返します。 |
StringSE | toString() プラットフォームのデフォルトの文字セットを使用して、バッファーの内容を文字列デコードバイトに変換します。 |
void | write(byte[] data, int offset, int length) |
void | write(int datum) |
void | writeTo(OutputStreamSE out) 指定された OutputStream にバッファーの内容を書き込みます。 |
flushSE, writeSEcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic FastByteArrayOutputStream()
FastByteArrayOutputStream を作成します。public FastByteArrayOutputStream(int initialBlockSize)
FastByteArrayOutputStream を作成します。initialBlockSize - バイト単位の初期バッファサイズ public void write(int datum)
throws IOExceptionSEOutputStreamSE の writeSE IOExceptionSEpublic void write(byte[] data,
int offset,
int length)
throws IOExceptionSEOutputStreamSE の writeSE IOExceptionSEpublic void close()
CloseableSE の closeSE AutoCloseableSE の closeSE OutputStreamSE の closeSE public StringSE toString()
このメソッドは常に、不正な形式の入力およびマップ不可能な文字シーケンスを、プラットフォームのデフォルトの文字セットのデフォルトの置換文字列に置き換えます。CharsetDecoderSE クラスは、デコードプロセスをさらに制御する必要がある場合に使用する必要があります。
ObjectSE の toStringSE public int size()
FastByteArrayOutputStream に格納されているバイト数を返します。public byte[] toByteArrayUnsafe()
また、メモリを節約するために、内部構造をバイト配列に置き換えます。バイト配列が作成されている場合は、それを使用することもできます。このアプローチは、このメソッドが暫定的に書き込みなしで 2 回呼び出された場合、2 番目の呼び出しは no-op であることも意味します。
このメソッドは内部バッファを返すため、「安全ではありません」。呼び出し元は、返されたバッファを変更しないでください。
size(), toByteArray()public byte[] toByteArray()
そのサイズは、この出力ストリームの現在のサイズであり、内部バッファーの有効な内容が含まれます。
size(), toByteArrayUnsafe()public void reset()
FastByteArrayOutputStream の内容をリセットします。出力ストリームに現在蓄積されているすべての出力は破棄されます。出力ストリームは再び使用できます。
public InputStreamSE getInputStream()
InputStreamSE を取得して、この OutputStream のデータを取得します。OutputStream でメソッドが呼び出される場合(書き込みメソッド reset()、toByteArray()、toByteArrayUnsafe() を含むがこれらに限定されない)、InputStreamSE の動作は未定義であることに注意してください。
InputStreamSEpublic void writeTo(OutputStreamSE out) throws IOExceptionSE
out - 書き込む OutputStreamIOExceptionSEpublic void resize(int targetCapacity)
targetCapacity - 必要なバッファのサイズ IllegalArgumentExceptionSE - 指定された容量が、すでにバッファに保存されているコンテンツの実際のサイズよりも小さい場合 size()