如何从输入流中读取前2个字节并将2个字节的数据转换为实际的int长度值,然后将其余的消息读取并复制到字节数组中。 在从流中读取前2个字节后应该定义其余的数据数组,是否有人知道有效的逻辑?
答案 0 :(得分:3)
使用DataInputStream.
使用readUnsignedShort()
方法返回长度字,然后使用readFully()
方法读取以下数据。
答案 1 :(得分:1)
这将从字节数组创建一个字符串。根据需要进行调整。
InputStream in;
try {
in = socket.getInputStream();
DataInputStream dis = new DataInputStream(in);
int len = dis.readInt();
byte[] data = new byte[len];
if (len > 0) {
dis.readFully(data);
}
String sReturn = new String(data);
}