パッケージ org.springframework.util

クラス FastByteArrayOutputStream

java.lang.ObjectSE
java.io.OutputStreamSE
org.springframework.util.FastByteArrayOutputStream
実装されたすべてのインターフェース:
CloseableSEFlushableSEAutoCloseableSE

public class FastByteArrayOutputStream extends OutputStreamSE
ByteArrayOutputStreamSE の迅速な代替。兄弟 ResizableByteArrayOutputStream とは異なり、このバリアントは ByteArrayOutputStream を継承しないことに注意してください。

ByteArrayOutputStreamSE とは異なり、この実装は、常に byte[] のサイズを変更する 1 ではなく、byte[] の ArrayDequeSE によってサポートされています。展開されたときにバッファをコピーしません。

初期バッファは、ストリームが最初に書き込まれたときにのみ作成されます。また、writeTo(OutputStream) メソッドを使用してコンテンツを抽出した場合、内部バッファーのコピーはありません。

導入:
4.2
作成者:
Craig Andrews, Juergen Hoeller
関連事項:
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    256 バイトのデフォルトの初期容量で新しい FastByteArrayOutputStream を作成します。
    FastByteArrayOutputStream(int initialBlockSize)
    指定された初期容量で新しい FastByteArrayOutputStream を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    InputStreamSE を取得して、この OutputStream のデータを取得します。
    void
    この FastByteArrayOutputStream の内容をリセットします。
    void
    resize(int targetCapacity)
    内部バッファのサイズを指定された容量に変更します。
    int
    この FastByteArrayOutputStream に格納されているバイト数を返します。
    byte[]
    新しく割り当てられたバイト配列を作成します。
    byte[]
    ストリームのデータをバイト配列に変換し、バイト配列を返します。
    プラットフォームのデフォルトの文字セットを使用して、バッファーの内容を文字列デコードバイトに変換します。
    void
    write(byte[] data, int offset, int length)
    void
    write(int datum)
    void
    指定された OutputStream にバッファーの内容を書き込みます。

    クラス java.io.OutputStreamSE から継承されたメソッド

    flush, nullOutputStream, writeSE

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
  • コンストラクターの詳細

    • FastByteArrayOutputStream

      public FastByteArrayOutputStream()
      256 バイトのデフォルトの初期容量で新しい FastByteArrayOutputStream を作成します。
    • FastByteArrayOutputStream

      public FastByteArrayOutputStream(int initialBlockSize)
      指定された初期容量で新しい FastByteArrayOutputStream を作成します。
      パラメーター:
      initialBlockSize - バイト単位の初期バッファサイズ
  • メソッドの詳細

    • write

      public void write(int datum) throws IOExceptionSE
      次で指定:
      クラス OutputStreamSEwriteSE 
      例外:
      IOExceptionSE
    • write

      public void write(byte[] data, int offset, int length) throws IOExceptionSE
      オーバーライド:
      クラス OutputStreamSEwriteSE 
      例外:
      IOExceptionSE
    • close

      public void close()
      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
      オーバーライド:
      クラス OutputStreamSEclose 
    • toString

      public StringSE toString()
      プラットフォームのデフォルトの文字セットを使用して、バッファの内容をバイトをデコードする文字列に変換します。新しい String の長さは文字セットの関数であるため、バッファのサイズと等しくない場合があります。

      このメソッドは常に、不正な形式の入力およびマップ不可能な文字シーケンスを、プラットフォームのデフォルトの文字セットのデフォルトの置換文字列に置き換えます。CharsetDecoderSE クラスは、デコードプロセスをさらに制御する必要がある場合に使用する必要があります。

      オーバーライド:
      クラス ObjectSEtoString 
      戻り値:
      バッファのコンテンツからデコードされた文字列
    • size

      public int size()
      この FastByteArrayOutputStream に格納されているバイト数を返します。
    • toByteArrayUnsafe

      public byte[] toByteArrayUnsafe()
      ストリームのデータをバイト配列に変換し、バイト配列を返します。

      また、メモリを節約するために、内部構造をバイト配列に置き換えます。バイト配列が作成されている場合は、それを使用することもできます。このアプローチは、このメソッドが暫定的に書き込みなしで 2 回呼び出された場合、2 番目の呼び出しは no-op であることも意味します。

      このメソッドは内部バッファを返すため、「安全ではありません」。呼び出し元は、返されたバッファを変更しないでください。

      戻り値:
      バイト配列としての、この出力ストリームの現在の内容。
      関連事項:
    • toByteArray

      public byte[] toByteArray()
      新しく割り当てられたバイト配列を作成します。

      そのサイズは、この出力ストリームの現在のサイズであり、内部バッファーの有効な内容が含まれます。

      戻り値:
      この出力ストリームの現在の内容(バイト配列として)
      関連事項:
    • reset

      public void reset()
      この FastByteArrayOutputStream の内容をリセットします。

      出力ストリームに現在蓄積されているすべての出力は破棄されます。出力ストリームは再び使用できます。

    • getInputStream

      public InputStreamSE getInputStream()
      InputStreamSE を取得して、この OutputStream のデータを取得します。

      OutputStream でメソッドが呼び出される場合(書き込みメソッド reset()toByteArray()toByteArrayUnsafe() を含むがこれらに限定されない)、InputStreamSE の動作は未定義であることに注意してください。

      戻り値:
      この OutputStream のコンテンツの InputStreamSE
    • writeTo

      public void writeTo(OutputStreamSE out) throws IOExceptionSE
      指定された OutputStream にバッファーの内容を書き込みます。
      パラメーター:
      out - 書き込む OutputStream
      例外:
      IOExceptionSE
    • resize

      public void resize(int targetCapacity)
      内部バッファのサイズを指定された容量に変更します。
      パラメーター:
      targetCapacity - 必要なバッファのサイズ
      例外:
      IllegalArgumentExceptionSE - 指定された容量が、すでにバッファに保存されているコンテンツの実際のサイズよりも小さい場合
      関連事項: