2013-10-24 47 views
0

如何与DataInputStream,这是存储与此代码读取StringDataInputStream和OutputStream的写入/读取字符串长度

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

读入?错误 你可以阅读从 - DataInputStream – Antoniossss

+0

尝试此链接 - http://e-geek.pl/。我写了关于流操作的simle文章。它在波兰和谷歌翻译的缺点不能很好地处理它; P – Antoniossss

回答

4

你可以这样写。

DataInputStream dataIn = new DataInputStream (input); 
int length = dataIn.readInt(); 
byte[] array = new byte[length]; 
dataIn.read(array); 
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); 
0
dataOut.writeUTF(title); 
// ... 
String title = dataIn.readUTF(); 

...写在这个时候提供的标题并不需要超过65533个字节格式:请参阅Javadoc。