下面是一个示例类,展示了我如何将 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);
}
}