インタフェースBufWriter
public sealed interface BufWriter
BufWriterは、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
拡張可能バッファへのクラス・ファイルの一部の書込みをサポートします。 様々な標準エンティティ(e.g.,
u2, u4)をバッファの最後に書き込むメソッドと、定数プール・エントリを作成するメソッドが用意されています。 - 導入されたバージョン:
- 22
-
メソッドのサマリー
修飾子と型メソッド説明boolean指定された定数プールが、この定数プールと索引互換であるかどうかを返します。このバッファに関連付けられた定数プール・ビルダーを返します。voidcopyTo(byte[] array, int bufferOffset) バッファの内容をバイト配列にコピーします。voidpatchInt(int offset, int size, int value) 以前に書き込まれた整数値にパッチを適用します。voidreserveSpace(int freeBytes) バッファに少なくともfreeBytesバイトの未使用領域があることを確認します。intsize()バッファに書き込まれたバイト数を返します。voidwriteBytes(byte[] arr) バイト配列の内容をバッファに書き込むvoidwriteBytes(byte[] arr, int start, int length) バイト配列の範囲をバッファに書き込むvoidwriteBytes(BufWriterPREVIEW other) voidwriteDouble(double x) バッファへのdouble値の書込みvoidwriteFloat(float x) バッファにfloat値を書き込むvoidwriteIndex(PoolEntryPREVIEW entry) 指定された定数プール・エントリの索引をu2としてバッファに書き込みます。voidwriteIndexOrZero(PoolEntryPREVIEW entry) 指定された定数プール・エントリのインデックスをu2としてバッファに、またはエントリがnullの場合はゼロに書き込みますvoidwriteInt(int x) バッファへの符号付きintの書き込みvoidwriteIntBytes(int intSize, long intValue) 1、2、4、または8バイトの整数値をバッファに書き込みます。<T extends WritableElementPREVIEW<?>>
voidエンティティのリストをバッファに書き込みます。voidwriteListIndices(List<? extends PoolEntryPREVIEW> list) 定数プール・エントリ索引のリストをバッファに書き込みます。voidwriteLong(long x) バッファにlong値を書き込むvoidwriteU1(int x) バッファへの符号なしバイトの書き込みvoidwriteU2(int x) バッファへの符号なしshortの書き込み
-
メソッドの詳細
-
constantPool
ConstantPoolBuilderPREVIEW 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
-
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
指定された定数プール・エントリの索引をu2としてバッファに書き込みます。- パラメータ:
entry- 定数プール・エントリ- 例外:
IllegalArgumentException- エントリに無効なインデックスがある場合
-
writeIndexOrZero
指定された定数プール・エントリのインデックスをu2としてバッファに、またはエントリがnullの場合はゼロに書き込みます- パラメータ:
entry- 定数プール・エントリ- 例外:
IllegalArgumentException- エントリに無効なインデックスがある場合
-
writeList
<T extends WritableElementPREVIEW<?>> void writeList(List<T> list) エンティティのリストをバッファに書き込みます。 リストの長さは、u2として書き込まれ、その後にリスト内の各要素に対応するバイトが続きます。 エンティティの書込みはエントリに委任されます。- 型パラメータ:
T- エンティティのタイプ- パラメータ:
list- エンティティ
-
writeListIndices
定数プール・エントリ索引のリストをバッファに書き込みます。 リストの長さは、u2として書き込まれ、その後にリスト内の各エントリのu2が続きます。- パラメータ:
list- エントリのリスト- 例外:
IllegalArgumentException- エントリに無効な索引がある場合
-
size
int size()バッファに書き込まれたバイト数を返します。- 戻り値:
- バッファに書き込まれたバイト数
-
copyTo
void copyTo(byte[] array, int bufferOffset) バッファの内容をバイト配列にコピーします。- パラメータ:
array- バイト配列bufferOffset- バッファの内容を書き込む配列へのオフセット- 例外:
IndexOutOfBoundsException- 配列境界の外側をコピーする場合
-
BufWriterを使用できます。