我在java中构造一个字节数组,我不知道数组会有多长.
我想要一些像Java的StringBuffer这样的工具你可以调用.append(字节b)或.append(byte [] buf)并让它缓冲我的所有字节并在完成后返回给我一个字节数组.是否有一个类用于StringBuffer为字符串做什么?它看起来不像我正在寻找的ByteBuffer类.
谁有一个很好的解决方案?
Cli*_*int 111
试试ByteArrayOutputStream.你可以使用write( byte[] ),它会根据需要增长.
只是为了扩展前面的答案,您可以使用ByteArrayOutputStream及其方法public void write(byte[] b, int off, int len),其中参数为:
b - 数据
off - 数据中的起始偏移量
len - 要写入的字节数
如果要将其用作"字节构建器"并逐字节插入,则可以使用:
byte byteToInsert = 100;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(new byte[]{byteToInsert}, 0, 1);
Run Code Online (Sandbox Code Playgroud)
然后你可以使用baos.toString()方法将数组转换为字符串.优点是当您需要设置输入的编码时,您可以简单地使用ie:
baos.toString("Windows-1250")
Run Code Online (Sandbox Code Playgroud)