虽然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...
方法一:使用byte array缓存转换 代码示例如下 ByteArrayOutputStream baos=newByteArrayOutputStream();ByteArrayInputStream swapStream=newByteArrayInputStream(baos.toByteArray()); 这种方式最为简单,但是要求执行baos.toByteArray()这个方法之前,需要的数据已经完全写入,即无法做到边写边读,另外其需要足够的内存来一...
我正处于开发阶段,我有两个模块,从一个模块中我得到了 OutputStream 和第二个模块的输出,它只接受 InputStream 。你知道如何将 OutputStream 转换为 InputStream (反之亦然,我的意思是这样)我将能够连接这两个部分? 谢谢 原文由 Waypoint 发布,翻译遵循 CC BY-SA 4.0 许可协议 java...
关于JavaDoc的更多评论,包括以下语句的InputStream.transferTo(OutputStream)方法: “此方法不会关闭任何一个流。” “强烈建议在发生I / O错误时立即关闭两个流。” 处理上面显示的两个问题的最简单方法是在InputStream.transferTo(OutputStream)方法的Javadoc注释中表达的方法是在try-with-resources语句中实例化源Inpu...
转换类代码如下: importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;publicclassInputOutputTransferStreamextendsInputStream{privatebyte[]buffer=newbyte[4096];privateintbyteLength=0;privatebooleanwriteOver=false;privatebooleanreadOver=false;privateInputOutputStreamoutputStream=newInputOutp...
是通过数据流的方式将一个输出流的数据写入到另一个输入流中。这种方式常用于数据传输、数据处理等场景。下面是一个完善且全面的答案: 概念: 从一个OutputStream写入另一个InputStream是指将数据从一个输出流(OutputStream)传输到另一个输入流(InputStream)的过程。通过这种方式,可以实现数据的传输和处理。
/*做一个功能验证,要用到inputStream与outputStream的转换,本以为很简单的东东 搞了蛮久,从"程序员 闫帆"处取得一段代码*/ packagecom.boco.test;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.InputStream;importjava.io.OutputStream;publicclassConvertUtil { ...