Java可变字节数组数据结构

标签 java

我试图找到一种简单的方法来创建一个可变字节数组,该数组可以自动附加任何原始 Java 数据类型。我一直在搜索,但找不到任何有用的东西。

我正在寻找这样的东西

ByteAppender byteStructure = new ByteAppender();
byteStructure.appendInt(5);
byteStructure.appendDouble(10.0);

byte[] bytes = byteStructure.toByteArray();

ByteByffer 很棒,但您必须在开始之前知道缓冲区的大小,这对我来说行不通。有一个类似的东西 (StringBuilder) 用于创建字符串,但我找不到用于字节的东西。

我认为这在 Java 中很明显。

最佳答案

我猜你正在寻找 java.io.DataOutputStream

ByteArrayOutputStream out = new ByteArrayOutputStream();
DataOutputStream dout = new DataOutputStream(out);
dout.writeInt(1234);
dout.writeLong(123L);
dout.writeFloat(1.2f);
byte[] storingData = out.toByteArray();

如何使用storingData?

//how to use storingData?
ByteArrayInputStream in = new ByteArrayInputStream(storingData);
DataInputStream din = new DataInputStream(in);
int v1 = din.readInt();//1234
long v2 = din.readLong();//123L
float v3 = din.readFloat();//1.2f

关于Java可变字节数组数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21176490/

相关文章:

Java servlet - 任何限制访问用户名/密码的内置方法?

java - 如何通过双重引用创建bean?

java - 从对象填充表 Javafx

java - 平移动画会导致 View 的填充位置发生变化,但不会导致布局发生变化

java - 以编程方式从 Eclipse 捕获编译器错误

java - javafx 中代码区域的自动补全

java - JIT 能够优化内存分配吗?

java - 如何从 ButtonGroup 中保存选定的 JRadioButton?

java - 我如何获得一个 html 页面中包含的所有文件的总大小(对于 css 文件递归)?

java - 如何比较字符串数组并计算相似单词