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