Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有长度的DataInputStream和OutputStream写/读字符串_Java_Io_Java Io - Fatal编程技术网

Java 具有长度的DataInputStream和OutputStream写/读字符串

Java 具有长度的DataInputStream和OutputStream写/读字符串,java,io,java-io,Java,Io,Java Io,如何使用与此代码一起存储的数据输入流读取字符串: DataOutputStream dataOut = new DataOutputStream (out); // Some other stream String title = processed.getTitle(); dataOut.writeInt(title.length()); dataOut.writeBytes(title); 你可以这样读 DataInputStream dataIn = new DataInputStrea

如何使用与此代码一起存储的
数据输入流
读取
字符串

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

你可以这样读

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

你可以这样读

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

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

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);

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

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);
。。。如果以这种格式编写标题时不需要超过65533字节:请参阅Javadoc


。。。如果标题以这种格式写入时不需要超过65533字节:请参阅Javadoc。

读入?错误您可以从-DataInputStream读取尝试此链接-。我写了一篇关于流操作的simle文章。它的缺点是波兰语和谷歌翻译不能很好地处理它;进入?错误您可以从-DataInputStream读取尝试此链接-。我写了一篇关于流操作的simle文章。它的缺点是波兰语和谷歌翻译不能很好地处理它;P