0

以下は、String を ByteBuffer に入れる方法を示すサンプル クラスです。このようなファイルに文字列を書き込むことはできますが、逆シリアル化するときにタイトルを再度読み取るためにバイト配列のサイズを知る方法がわかりません。

public class TestClass {

 private Long id;
 private String title;

 public void write (final ByteBuffer byteBuffer) {
  byteBuffer.putInt(title.length());
  byteBuffer.put(title.getBytes());
 }

 public static UpdateFeed read (final ByteBuffer byteBuffer) {

 final long id = byteBuffer.getLong();

 final int titleLength = byteBuffer.getInt();
 byte[] titleArr = new byte[titleLength];
 byteBuffer.get(titleArr);
 String title = new String(titleArr);
 System.out.println("Title :"+title);


  ????????????????
 return new TestClass(id,title);
 }

}
4

1 に答える 1