DataInputStream和OutputStream以长度写入/读取字符串

时间:2013-10-24 11:26:34

标签: java io java-io

如何阅读带有String的{​​{1}},其中包含此代码:

DataInputStream

3 个答案:

答案 0 :(得分:4)

你可以这样读。

DataInputStream dataIn = new DataInputStream (input);
int length = dataIn.readInt();
byte[] array = new byte[length];
dataIn.read(array);

答案 1 :(得分:1)

您可以使用ByteArrayOutputStreamByteArrayInputStream以及字节数组作为中间缓冲区..

ByteArrayOutputStream out = new ByteArrayOutputStream();

// Some other streams
DataOutputStream dataOut = new DataOutputStream (out); 
String title = processed.getTitle();
dataOut.writeInt(title.length());
dataOut.writeBytes(title);

ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
DataInputStream dataIn = new DataInputStream(in);

答案 2 :(得分:0)

dataOut.writeUTF(title);
// ...
String title = dataIn.readUTF();

...如果以这种格式编写标题,则标题不需要超过65533个字节:请参阅Javadoc。