Java 如何使用DataInputStream的方法读取DataOutputStream.writeBytes(字符串)写入的数据?
如何使用DataInputStream的方法读取DataOutputStream.writeBytes(字符串)写入的数据 我真的不知道这个问题Java 如何使用DataInputStream的方法读取DataOutputStream.writeBytes(字符串)写入的数据?,java,io,Java,Io,如何使用DataInputStream的方法读取DataOutputStream.writeBytes(字符串)写入的数据 我真的不知道这个问题 writeBytes(String)不包含写入长度的任何指示,因此除非您之前输出了长度,否则无法知道要读取多少 还请注意,writeBytes(String)只写入字符串中每个字符的底部八位,丢弃高位-这可能不是您想要的 如果您想写出一个字符串请查看writeUTF,它包含字符串长度,并且可以用DataInputStream.readUTF读取,您可以
writeBytes(String)
不包含写入长度的任何指示,因此除非您之前输出了长度,否则无法知道要读取多少
还请注意,writeBytes(String)
只写入字符串中每个字符的底部八位,丢弃高位-这可能不是您想要的
如果您想写出一个
字符串
请查看writeUTF
,它包含字符串长度,并且可以用DataInputStream.readUTF读取,您可以用ByteArrayOutputStream
和DataInputStream
构造DataOutputStream
ByteArrayInputStream
使用ByteArrayOutputStream
中的字节数组作为缓冲区,例如:
ByteArrayOutputStream inMemory = new ByteArrayOutputStream ();
DataOutputStream out = new DataOutputStream (inMemory);
DataInputStream in = new DataInputStream (new ByteArrayInputStream (inMemory.toByteArray()));
您是否只使用
写字节(字符串)
?还是其他DataOutputStream
方法?