-1

如何从输入流中读取前 2 个字节并将 2 个字节数据转换为实际的 int 长度值,然后读取消息的其余部分并将其复制到字节数组中。数据数组的其余部分应该在从流中读取前 2 个字节后定义,有人知道有效的逻辑吗?

4

2 回答 2

3

使用 aDataInputStream.使用readUnsignedShort()方法返回长度字,然后使用该readFully()方法读取以下数据。

于 2013-04-16T02:05:01.540 回答
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); 
}
于 2013-04-15T18:44:03.763 回答