如何使用DataInputStream方法读取DataOutputStream.writeBytes(String)写入的数据?

时间:2013-09-06 13:49:12

标签: java io

如何使用DataInputStream方法读取DataOutputStream.writeBytes(String)写入的数据?

我真的不知道这个问题!

2 个答案:

答案 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()));