有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将ByteArray添加到整数

在下面的java代码片段中,您将看到这一行packetLengthMax += bytes.toByteArray()[43]; 我的问题是:这是如何工作的

byte[] dataBuffer = new byte[265];
int packetLength = 0;
int packetLengthMax = 44;
ByteArrayOutputStream   bytes       = new ByteArrayOutputStream();
DataOutputStream        outMessage  = new DataOutputStream(bytes);
/* Client = Socket*/
DataInputStream         clientIn    = new DataInputStream(Client.getInputStream());
while (packetLength < packetLengthMax) {
    packetLength += clientIn.read(dataBuffer);
    outMessage.write(dataBuffer);           
    if (packetLength >= 43) {
        packetLengthMax += bytes.toByteArray()[43];
    }
}

我的解释是: 首先,一个socket(Client)被传递给代码。然后设置所有变量。在while循环中,它读取来自socket的所有数据。然后它还将该数据写入DataOutputStream。 但是在if语句中,它将字节数组添加到整数中
它是如何工作的?我不明白那一点。谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    它不是添加整个字节数组,只是添加43位的字节。(即数组中的第44个字节)