虽然Java标准库中没有提供直接将 OutputStream 转换为 InputStream 的方法,但我们可以使用中间存储来实现这一转换。以下是几种常见的转换方法: 1. 使用 ByteArrayOutputStream 和ByteArrayInputStream 这种方法利用内存中的字节数组作为中间存储,将 OutputStream 中的数据写入 ByteArrayOutputStream,然后再通过 ByteArray...
方法一:使用字节数组缓存数据 最简单的方法是用字节数组缓存数据。代码 1 2 3 4 5 ByteArrayOutputStream out =newByteArrayOutputStream(); class1.putDataOnOutputStream(out); class2.processDataFromInputStream( newByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为InputStream了。 方...
这通过将OutputStream的字节数组获取出来,再用这个字节数组创建ByteArrayInputStream来实现。 importjava.io.ByteArrayInputStream;byte[]byteArray=byteArrayOutputStream.toByteArray();ByteArrayInputStreambyteArrayInputStream=newByteArrayInputStream(byteArray);// 将 ByteArrayOutputStream 中的数据转换为字节数组,然后...
使用ByteArrayStream类进行转换 第二种方法是使用ByteArrayStream进行转换,这种方法会将写出的文件保存在内存中,然后被工具类读取,伪代码如下: ByteArrayOutputStreambaos=newByteArrayOutputStream();// 写入wordObj.write(baos);ByteArrayInputStreambais=newByteArrayInputStream(baos.toByteArray());// 读取UtilB.re...
PipedInputStreamin=newPipedInputStream();PipedOutputStreamout=newPipedOutputStream(in);newThread(newRunnable(){publicvoidrun(){class1.putDataOnOutputStream(out);}}).start();class2.processDataFromInputStream(in); 顾名思义,pipe即为管道,这种方法支持流式的方式,一端写一端读,向PipedOutputStream写入的数...
我正处于开发阶段,我有两个模块,从一个模块中我得到了 OutputStream 和第二个模块的输出,它只接受 InputStream 。你知道如何将 OutputStream 转换为 InputStream (反之亦然,我的意思是这样)我将能够连接这两个部分? 谢谢 原文由 Waypoint 发布,翻译遵循 CC BY-SA 4.0 许可协议 java...
StreamsTransfer.java:使用InputStream.transferTo(OutputStream) package dustin.examples.iostreams; import static java.lang.System.out; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; ...
从一个OutputStream写入另一个InputStream 是通过数据流的方式将一个输出流的数据写入到另一个输入流中。这种方式常用于数据传输、数据处理等场景。下面是一个完善且全面的答案: 概念: 从一个OutputStream写入另一个InputStream是指将数据从一个输出流(OutputStream)传输到另一个输入流(InputStream)的过程。通过这种...
在实际应用中,我们会碰的一个功能的输出的字节流,是另一个功能输入字节流的情况。一般情况下,我们可以使用ByteArrayOutputStream和ByteArrayInputStream实现相应的功能。 来看下面的测试代码: importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.PrintWriter;...
//OutputStream 转StringpublicString parse_String(OutputStream out)throwsException { ByteArrayOutputStream baos=newByteArrayOutputStream(); baos=(ByteArrayOutputStream) out; ByteArrayInputStream swapStream=newByteArrayInputStream(baos.toByteArray());returnswapStream.toString(); ...