Java - 有类似二进制流的东西吗?

标签 java arrays operators

我有一个问题。

是否有库或等将 int 和字符串组成字节数组?

喜欢:

byte temparray[] = new byte[10];

int a = 10;
int b = 10;

temparray << new String("12") << a << b;

谢谢。

编辑

    byte[] buffer = new byte[649];

    byte[] charname = this.getName().getBytes();
    System.arraycopy(charname, 0 , buffer, 0, charname.length);

    for(int i=0;i<16;i++) //mystery crs 16 zeros
    {
        buffer[i+17] = (byte)0x30;
    }

    buffer[34] = this.faction;

    if(this.characterClass == 2)
    {
        buffer[40] = 2;      
    } else
    {
        buffer[40] = 1; 
    }
    System.arraycopy(BitTools.shortToByteArray(face), 0, buffer, 42, 2);
    buffer[44] = 1; 
    buffer[48] = (byte)this.characterClass; //class byte
    buffer[52] = 2; explanation yet

    buffer[54] = (byte)this.getLevel();

这是我的数据包生成器的一个示例,我想简化它,但在数据包中我只使用短整型、整数和字符串。

最佳答案

java.io.ByteArrayOutputStream是一个流实现,它收集内部字节数组上的内容,您可以将其包装在 java.io.OutputStreamWriter 中以向其中写入字符内容。

ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
Writer out = new OutputStreamWriter(byteOut, "UTF-8");  // Uses UTF-8 encoding
out.write("12");
out.write(10);
out.write(10);
out.close();

byte[] bytes = byteOut.toByteArray();

此后,bytes.length 的长度刚好足以容纳写入 byteOut 的字节。

关于Java - 有类似二进制流的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17551920/

相关文章:

java - 序列化/反序列化 MQMessage

ios - 您可以使用 swift 将字符串附加到 Firebase 数组吗

java - 运营商优先?

java - “找不到或加载主类”是什么意思?

java - log4j2 异常输出带有意外符号

java - 不优化编译Java?

java Arrays.sort 二维数组

php - 获取将 PHP 数组一分为二的所有可能组合

java - 使用 pow(x,y) 比较大数时, "<"小于运算符和 "<="运算符之间的差异

C 编程 : += vs =+