インタフェースBufWriter


public sealed interface BufWriter
BufWriterは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでBufWriterを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
拡張可能バッファへのクラス・ファイルの一部の書込みをサポートします。 様々な標準エンティティ(e.g., u2, u4)をバッファの最後に書き込むメソッドと、定数プール・エントリを作成するメソッドが用意されています。
導入されたバージョン:
22
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    指定された定数プールが、この定数プールと索引互換であるかどうかを返します。
    このバッファに関連付けられた定数プール・ビルダーを返します。
    void
    copyTo(byte[] array, int bufferOffset)
    バッファの内容をバイト配列にコピーします。
    void
    patchInt(int offset, int size, int value)
    以前に書き込まれた整数値にパッチを適用します。
    void
    reserveSpace(int freeBytes)
    バッファに少なくともfreeBytesバイトの未使用領域があることを確認します。
    int
    バッファに書き込まれたバイト数を返します。
    void
    writeBytes(byte[] arr)
    バイト配列の内容をバッファに書き込む
    void
    writeBytes(byte[] arr, int start, int length)
    バイト配列の範囲をバッファに書き込む
    void
    別のBufWriterPREVIEWの内容をバッファに書き込む
    void
    writeDouble(double x)
    バッファへのdouble値の書込み
    void
    writeFloat(float x)
    バッファにfloat値を書き込む
    void
    指定された定数プール・エントリの索引をu2としてバッファに書き込みます。
    void
    指定された定数プール・エントリのインデックスをu2としてバッファに、またはエントリがnullの場合はゼロに書き込みます
    void
    writeInt(int x)
    バッファへの符号付きintの書き込み
    void
    writeIntBytes(int intSize, long intValue)
    1、2、4、または8バイトの整数値をバッファに書き込みます。
    <T extends WritableElementPREVIEW<?>>
    void
    writeList(List<T> list)
    エンティティのリストをバッファに書き込みます。
    void
    定数プール・エントリ索引のリストをバッファに書き込みます。
    void
    writeLong(long x)
    バッファにlong値を書き込む
    void
    writeU1(int x)
    バッファへの符号なしバイトの書き込み
    void
    writeU2(int x)
    バッファへの符号なしshortの書き込み
  • メソッドの詳細

    • constantPool

      このバッファに関連付けられた定数プール・ビルダーを返します。
      戻り値:
      このバッファに関連付けられた定数プール・ビルダー
    • canWriteDirect

      boolean canWriteDirect(ConstantPoolPREVIEW other)
      指定された定数プールが、この定数プールと索引互換であるかどうかを返します。 これは、同じ定数プールであるか、この定数プールがもう一方からコピーされたためです。
      パラメータ:
      other - その他の定数プール
      戻り値:
      指定された定数プールが、この定数プールとインデックス互換かどうか
    • reserveSpace

      void reserveSpace(int freeBytes)
      バッファに少なくともfreeBytesバイトの未使用領域があることを確認します。
      パラメータ:
      freeBytes - 予約するバイト数
    • writeU1

      void writeU1(int x)
      バッファへの符号なしバイトの書き込み
      パラメータ:
      x - バイト値
    • writeU2

      void writeU2(int x)
      バッファへの符号なしshortの書き込み
      パラメータ:
      x - short値
    • writeInt

      void writeInt(int x)
      バッファへの符号付きintの書き込み
      パラメータ:
      x - int値
    • writeFloat

      void writeFloat(float x)
      バッファにfloat値を書き込む
      パラメータ:
      x - float値
    • writeLong

      void writeLong(long x)
      バッファにlong値を書き込む
      パラメータ:
      x - long値
    • writeDouble

      void writeDouble(double x)
      バッファへのdouble値の書込み
      パラメータ:
      x - int値
    • writeBytes

      void writeBytes(byte[] arr)
      バイト配列の内容をバッファに書き込む
      パラメータ:
      arr - バイト配列
    • writeBytes

      void writeBytes(BufWriterPREVIEW other)
      別のBufWriterPREVIEWの内容をバッファに書き込む
      パラメータ:
      other - その他のBufWriterPREVIEW
    • writeBytes

      void writeBytes(byte[] arr, int start, int length)
      バイト配列の範囲をバッファに書き込む
      パラメータ:
      arr - バイト配列
      start - 範囲のバイト配列内のオフセット
      length - 範囲の長さ
      例外:
      IndexOutOfBoundsException - 範囲が配列範囲外の場合
    • patchInt

      void patchInt(int offset, int size, int value)
      以前に書き込まれた整数値にパッチを適用します。 指定したサイズに応じて、値全体または1バイトまたは2バイト未満が書き込まれる場合があります。
      パラメータ:
      offset - パッチを適用するオフセット
      size - 書き込まれる整数のサイズ(バイト単位)
      value - 整数値
      例外:
      IndexOutOfBoundsException - パッチ適用されたintが範囲外の場合
    • writeIntBytes

      void writeIntBytes(int intSize, long intValue)
      1、2、4、または8バイトの整数値をバッファに書き込みます。 指定されたサイズに応じて、値全体、または1、2、または4バイトの下限が書き込まれる場合があります。
      パラメータ:
      intSize - 書き込まれる整数のサイズ(バイト単位)
      intValue - 整数値
    • writeIndex

      void writeIndex(PoolEntryPREVIEW entry)
      指定された定数プール・エントリの索引をu2としてバッファに書き込みます。
      パラメータ:
      entry - 定数プール・エントリ
      例外:
      IllegalArgumentException - エントリに無効なインデックスがある場合
    • writeIndexOrZero

      void writeIndexOrZero(PoolEntryPREVIEW entry)
      指定された定数プール・エントリのインデックスをu2としてバッファに、またはエントリがnullの場合はゼロに書き込みます
      パラメータ:
      entry - 定数プール・エントリ
      例外:
      IllegalArgumentException - エントリに無効なインデックスがある場合
    • writeList

      <T extends WritableElementPREVIEW<?>> void writeList(List<T> list)
      エンティティのリストをバッファに書き込みます。 リストの長さは、u2として書き込まれ、その後にリスト内の各要素に対応するバイトが続きます。 エンティティの書込みはエントリに委任されます。
      型パラメータ:
      T - エンティティのタイプ
      パラメータ:
      list - エンティティ
    • writeListIndices

      void writeListIndices(List<? extends PoolEntryPREVIEW> list)
      定数プール・エントリ索引のリストをバッファに書き込みます。 リストの長さは、u2として書き込まれ、その後にリスト内の各エントリのu2が続きます。
      パラメータ:
      list - エントリのリスト
      例外:
      IllegalArgumentException - エントリに無効な索引がある場合
    • size

      int size()
      バッファに書き込まれたバイト数を返します。
      戻り値:
      バッファに書き込まれたバイト数
    • copyTo

      void copyTo(byte[] array, int bufferOffset)
      バッファの内容をバイト配列にコピーします。
      パラメータ:
      array - バイト配列
      bufferOffset - バッファの内容を書き込む配列へのオフセット
      例外:
      IndexOutOfBoundsException - 配列境界の外側をコピーする場合