有 Java 编程相关的问题?

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

从字节数组末尾修剪空元素

我正在用UDP进行一些网络编程,试图将一个大数据包分解成许多小数据包,然后通过网络发送它们。在发送最后一个数据包之前,一切都很顺利。最后一个数据包的问题是,关联的字节[]在末尾有一些尾随空间,因为字节[]始终是1024字节,但循环仅在仍有文件数据要发送时填充数组。在将数组放入要通过网络发送的DatagramPacket之前,删除字节[]的空元素的最佳方法是什么

    while(count < fileData.length) {
            for(int i=0; i<smallBuffSize; i++){
                System.out.println(count);
                System.out.println(fileData.length);
                if(count < fileData.length){
                    data[i] = fileData[count];
                    count++;
                }
            }

            DatagramPacket dataPacket = new DatagramPacket(data, data.length, serverAddress, 5000); 
            socket2.send(dataPacket);
        }

共 (1) 个答案

  1. # 1 楼答案

    当没有这么多数据时,我建议只提供实际长度,而不是使用data.length作为长度。这样就不会在最后对数据进行任何填充