org.maachang.mimdb.core.util

## クラス ByteArrayIO

- java.lang.Object
- - java.io.OutputStream
  - - org.maachang.mimdb.core.util.ByteArrayIO

- すべての実装されたインタフェース:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

      public class ByteArrayIO
      extends java.io.OutputStream

  ByteArrayI/O.
  導入されたバージョン:
    MasterInMemDB 1.02
  バージョン:
    2014/01/16
  作成者:
    masahito suzuki

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `ByteArrayIO()` コンストラクタ.
    `ByteArrayIO(int size)` コンストラクタ.

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `clear()` 情報クリア.
    `void` | `close()` 情報クローズ.
    `void` | `flush()` フラッシュ.
    `int` | `indexOf(byte[] chk)` 指定条件の位置を取得.
    `boolean` | `isClose()` クローズ処理が行われている場合.
    `boolean` | `isEmpty()` データが存在するかチェック.
    `int` | `peek(byte[] buf)` 情報の参照取得.
    `int` | `peek(byte[] buf, int off, int len)` 情報の参照取得.
    `int` | `read(byte[] buf)` 情報の取得.
    `int` | `read(byte[] buf, int off, int len)` 情報の取得.
    `int` | `read(java.nio.ByteBuffer buf)` 情報の取得.
    `int` | `search(byte[] buf, int off, byte[] chk)` 検索一致条件までの情報を取得.
    `int` | `skip(int len)` データスキップ.
    `byte[]` | `toByteArray()` データ取得.
    `void` | `write(byte[] bin)` データセット.
    `void` | `write(byte[] bin, int off, int len)` データセット.
    `void` | `write(java.nio.ByteBuffer buf)` データセット.
    `void` | `write(int b)` データセット.
    `int` | `writeLength()` 現在の書き込みバッファ長を取得.

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### ByteArrayIO

          public ByteArrayIO()

      コンストラクタ.

    - #### ByteArrayIO

          public ByteArrayIO(int size)

      コンストラクタ.
      パラメータ:
        `size` - 対象の１データのバッファ長を設定します.

  - ### メソッドの詳細

    - #### clear

          public void clear()

      情報クリア.

    - #### close

          public void close()
                     throws java.io.IOException

      情報クローズ.
      定義:
        `close` インタフェース内 `java.io.Closeable`
      定義:
        `close` インタフェース内 `java.lang.AutoCloseable`
      オーバーライド:
        `close` クラス内 `java.io.OutputStream`
      例外:
        `java.io.IOException` - 例外.

    - #### flush

          public void flush()
                     throws java.io.IOException

      フラッシュ.
      定義:
        `flush` インタフェース内 `java.io.Flushable`
      オーバーライド:
        `flush` クラス内 `java.io.OutputStream`
      例外:
        `java.io.IOException` - 例外.

    - #### write

          public void write(int b)
                     throws java.io.IOException

      データセット.
      定義:
        `write` クラス内 `java.io.OutputStream`
      パラメータ:
        `b` - 対象のバイナリ情報を設定します.
      例外:
        `java.io.IOException` - 例外.

    - #### write

          public void write(byte[] bin)
                     throws java.io.IOException

      データセット.
      オーバーライド:
        `write` クラス内 `java.io.OutputStream`
      パラメータ:
        `bin` - 対象のバイナリを設定します.
      例外:
        `java.io.IOException` - 例外.

    - #### write

          public void write(byte[] bin,
                   int off,
                   int len)
                     throws java.io.IOException

      データセット.
      オーバーライド:
        `write` クラス内 `java.io.OutputStream`
      パラメータ:
        `bin` - 対象のバイナリを設定します.
        `off` - 対象のオフセット値を設定します.
        `len` - 対象のデータ長を設定します.
      例外:
        `java.io.IOException` - 例外.

    - #### write

          public void write(java.nio.ByteBuffer buf)
                     throws java.io.IOException

      データセット.
      パラメータ:
        `対象のByteBufferを設定します.` -
      例外:
        `java.io.IOException` - 例外.

    - #### toByteArray

          public byte[] toByteArray()

      データ取得.
      戻り値:
        byte[] 設定されているデータを全て取得します.

    - #### writeLength

          public int writeLength()

      現在の書き込みバッファ長を取得.
      戻り値:
        int 書き込みバッファ長が返却されます.

    - #### isClose

          public boolean isClose()

      クローズ処理が行われている場合.
      戻り値:
        boolean [true]の場合、既にクローズ処理が行われています.

    - #### read

          public int read(byte[] buf)
                   throws java.io.IOException

      情報の取得.
      パラメータ:
        `buf` - 対象のバッファ情報を設定します.
      戻り値:
        int 取得された情報長が返却されます.
      例外:
        `java.io.IOException` - 例外.

    - #### read

          public int read(byte[] buf,
                 int off,
                 int len)
                   throws java.io.IOException

      情報の取得.
      パラメータ:
        `buf` - 対象のバッファ情報を設定します.
        `off` - 対象のオフセット値を設定します.
        `len` - 対象の長さを設定します.
      戻り値:
        int 取得された情報長が返却されます.
      例外:
        `java.io.IOException` - 例外.

    - #### read

          public int read(java.nio.ByteBuffer buf)
                   throws java.lang.Exception

      情報の取得.
      パラメータ:
        `buf` - 対象のByteBufferを設定します.
      戻り値:
        int 取得された情報長が返却されます.
      例外:
        `java.lang.Exception`

    - #### peek

          public int peek(byte[] buf)
                   throws java.io.IOException

      情報の参照取得. ※この処理では、参照取得されるだけで、ポジション移動はしません.
      パラメータ:
        `buf` - 対象のバッファ情報を設定します.
      戻り値:
        int 取得された情報長が返却されます.
      例外:
        `java.io.IOException` - 例外.

    - #### peek

          public int peek(byte[] buf,
                 int off,
                 int len)
                   throws java.io.IOException

      情報の参照取得. ※この処理では、参照取得されるだけで、ポジション移動はしません.
      パラメータ:
        `buf` - 対象のバッファ情報を設定します.
        `off` - 対象のオフセット値を設定します.
        `len` - 対象の長さを設定します.
      戻り値:
        int 取得された情報長が返却されます.
      例外:
        `java.io.IOException` - 例外.

    - #### skip

          public final int skip(int len)

      データスキップ.
      戻り値:
        int 実際にスキップされた数が返却されます. [-1]が返却された場合、オブジェクトはクローズしています.

    - #### indexOf

          public final int indexOf(byte[] chk)

      指定条件の位置を取得.
      パラメータ:
        `chk` - チェック対象のバイナリ情報を設定します.
      戻り値:
        int 取得データ長が返却されます. [-1]の場合は情報は存在しません.

    - #### search

          public final int search(byte[] buf,
                   int off,
                   byte[] chk)
                           throws java.lang.Exception

      検索一致条件までの情報を取得.
      パラメータ:
        `buf` - 設定対象のバイナリ情報を設定します.
        `off` - 設定対象のオフセット値を設定します.
        `chk` - チェック対象のバイナリ情報を設定します.
      戻り値:
        int 取得データ長が返却されます. [-1]の場合は情報は存在しません. [-2]の場合は、情報が大きすぎて、設定対象のバイナリ情報に格納できません.
      例外:
        `java.lang.Exception` - 例外.

    - #### isEmpty

          public boolean isEmpty()

      データが存在するかチェック.
      戻り値:
        boolean [true]の場合、空です.