修剪字节数组末尾的空元素 - Java

时间:2015-04-19 21:45:37

标签: java arrays trim

我正在使用UDP进行一些网络编程,并尝试将大数据包分解为许多较小的数据包,然后通过网络发送它们。一切都很好,直到最后一个数据包被发送。最后一个数据包的问题在于,相关的byte []在末尾有一些尾随空格,因为byte []总是1024字节,但是当仍有文件数据要发送时,循环只填充数组。在将数组放入要通过网络发送的DatagramPacket之前,删除byte []的空元素的最佳方法是什么?

    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 个答案:

答案 0 :(得分:3)

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