我正在使用字节数组来存储从另一台计算机接收到的数据包。
receivedData = new byte[1024];
receivedPacket = new DatagramPacket(receivedData, receivedData.length);
socket.receive(receivedPacket);
receivedData = receivedPacket.getData();
String res = new String(receivedData); // PROBLEM HERE
问题出在最后一行:因为我声明receivedData
为长度为 1024 的字节流。所以,最后一行总是会从整个数组创建一个新字符串,尽管它不知道我收到了多少真实字节。所以,我遇到了沮丧的错误:res
没有收到我希望的。(因为我收到的实际字节长度不能修复整个数组)
所以,我的问题是:我该如何解决这个问题,我怎么知道我真正收到了多少字节来转换为字符串?