public sealed interface BufWriter
BufWriterは、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
拡張可能バッファへのクラス・ファイルの一部の書込みをサポートします。 様々な標準エンティティ(e.g., 
u2, u4)をバッファの最後に書き込むメソッドと、定数プール・エントリを作成するメソッドが用意されています。 - 導入されたバージョン:
- 22
- 
メソッドのサマリー修飾子と型メソッド説明バッファ内のバイトのByteBufferビューを返します。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の書き込み
- 
メソッドの詳細- 
constantPoolConstantPoolBuilderPREVIEW constantPool()このバッファに関連付けられた定数プール・ビルダーを返します。- 戻り値:
- このバッファに関連付けられた定数プール・ビルダー
 
- 
canWriteDirectboolean canWriteDirect(ConstantPoolPREVIEW other) 指定された定数プールが、この定数プールと索引互換であるかどうかを返します。 これは、同じ定数プールであるか、この定数プールがもう一方からコピーされたためです。- パラメータ:
- other- その他の定数プール
- 戻り値:
- 指定された定数プールが、この定数プールとインデックス互換かどうか
 
- 
reserveSpacevoid reserveSpace(int freeBytes) バッファに少なくともfreeBytesバイトの未使用領域があることを確認します。- パラメータ:
- freeBytes- 予約するバイト数
 
- 
writeU1void writeU1(int x) バッファへの符号なしバイトの書き込み- パラメータ:
- x- バイト値
 
- 
writeU2void writeU2(int x) バッファへの符号なしshortの書き込み- パラメータ:
- x- short値
 
- 
writeIntvoid writeInt(int x) バッファへの符号付きintの書き込み- パラメータ:
- x- int値
 
- 
writeFloatvoid writeFloat(float x) バッファにfloat値を書き込む- パラメータ:
- x- float値
 
- 
writeLongvoid writeLong(long x) バッファにlong値を書き込む- パラメータ:
- x- long値
 
- 
writeDoublevoid writeDouble(double x) バッファへのdouble値の書込み- パラメータ:
- x- int値
 
- 
writeBytesvoid writeBytes(byte[] arr) バイト配列の内容をバッファに書き込む- パラメータ:
- arr- バイト配列
 
- 
writeBytes
- 
writeBytesvoid writeBytes(byte[] arr, int start, int length) バイト配列の範囲をバッファに書き込む- パラメータ:
- arr- バイト配列
- start- 範囲のバイト配列内のオフセット
- length- 範囲の長さ
 
- 
patchIntvoid patchInt(int offset, int size, int value) 以前に書き込まれた整数値にパッチを適用します。 指定したサイズに応じて、値全体または1バイトまたは2バイト未満が書き込まれる場合があります。- パラメータ:
- offset- パッチを適用するオフセット
- size- 書き込まれる整数のサイズ(バイト単位)
- value- 整数値
 
- 
writeIntBytesvoid 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
- 
sizeint size()バッファに書き込まれたバイト数を返します。- 戻り値:
- バッファに書き込まれたバイト数
 
- 
asByteBuffer
- 
copyTovoid copyTo(byte[] array, int bufferOffset) バッファの内容をバイト配列にコピーします。- パラメータ:
- array- バイト配列
- bufferOffset- バッファの内容を書き込む配列へのオフセット
 
 
- 
BufWriterを使用できます。