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