我正在使用字节数组来存储从另一台计算机接收到的数据包。字节数组:如何确切知道接收到的字节数
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
没有收到,因为我希望。 (因为我收到的实际字节长度不能修复整个阵列)
所以,我的问题是:我该如何解决这一问题,我怎么知道我真的收到了多少字节转换为字符串?
最初我认为你可以把receivedPacket放入一个对象中,然后根据被转换为byte []的对象的长度来创建字节数组。之后创建字符串。 –