如何使用DataInputStream方法读取DataOutputStream.writeBytes(String)写入的数据?
我真的不知道这个问题!
答案 0 :(得分:2)
writeBytes(String)
不包括所写长度的任何指示,除非您早先输出长度,否则无法知道要读多少。
另请注意,writeBytes(String)
仅将字符串中每个字符的最后8位写入丢弃高位 - 这可能不是您想要的。
如果您想要String
查看writeUTF
,其中包含字符串长度,可以使用DataInputStream.readUTF
阅读。
答案 1 :(得分:0)
您可以使用DataOutputStream
构建ByteArrayOutputStream
,使用DataInputStream
ByteArrayInputStream
构建ByteArrayOutputStream
的字节数组,例如:< / p>
ByteArrayOutputStream inMemory = new ByteArrayOutputStream ();
DataOutputStream out = new DataOutputStream (inMemory);
DataInputStream in = new DataInputStream (new ByteArrayInputStream (inMemory.toByteArray()));