";outputStream.write(data.getBytes());// 步骤3:获取字节数组byte[]byteArray=((ByteArrayOutputStream)outputStream).toByteArray();// 步骤4:创建InputStreamInputStreaminputStream=newByteArrayInputStream(byteArray);// 步骤5:读取InputStream中的数据intdataByte;while((dataByte=inputStream.read())!=-1...
importjava.io.ByteArrayOutputStream;// 创建一个ByteArrayOutputStream实例ByteArrayOutputStreamoutputStream=newByteArrayOutputStream(); 1. 2. 3. 4. 将数据写入OutputStream // 将字符串数据写入OutputStreamStringdata="Hello, OutputStream to InputStream!";try{outputStream.write(data.getBytes());// 将...
方法一:使用字节数组缓存数据 最简单的方法是用字节数组缓存数据。代码 1 2 3 4 5 ByteArrayOutputStream out =newByteArrayOutputStream(); class1.putDataOnOutputStream(out); class2.processDataFromInputStream( newByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为InputStream了。 方...
使用ByteArrayStream类进行转换 第二种方法是使用ByteArrayStream进行转换,这种方法会将写出的文件保存在内存中,然后被工具类读取,伪代码如下: ByteArrayOutputStreambaos=newByteArrayOutputStream();// 写入wordObj.write(baos);ByteArrayInputStreambais=newByteArrayInputStream(baos.toByteArray());// 读取UtilB.re...
{ public static InputStream convertOutputStreamToInputStream(OutputStream out) throws IOException { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int bytesRead; // 假设out是一个已经准备好的OutputStream,我们需要将其数据读取出来 while ((...
new ByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为InputStream了。 方法二:使用管道 第一种方法的问题是你必须有足够的内存缓存所有数据。你可以使用文件系统缓存更多数据,但无论如何可处理数据的大小还是受到限制。 解决方法是创建一个线程产生数据到PipedOutputStream。当前线程可从中读取...
class1.putDataOnOutputStream(out); class2.processDataFromInputStream( new ByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为InputStream了。 方法二:使用管道 第一种方法的问题是你必须有足够的内存缓存所有数据。你可以使用文件系统缓存更多数据,但无论如何可处理数据的大小还是受到限制。
class1.putDataOnOutputStream(out); class2.processDataFromInputStream( new ByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为InputStream了。 方法二:使用管道 第一种方法的问题是你必须有足够的内存缓存所有数据。你可以使用文件系统缓存更多数据,但无论如何可处理数据的大小还是受到限制。
class1.putDataOnOutputStream(out); } } ).start(); class2.processDataFromInputStream(in); AI代码助手 顾名思义,pipe即为管道,这种方法支持流式的方式,一端写一端读,向PipedOutputStream写入的数据可以从PipedInputStream读出,很好的解决了方法一中的短处,是个人较为推荐的一种方式。
B -->|toByteArray()| C[ByteArrayInputStream] C -->|read()| D[InputStream Data] 详细步骤 1. 创建一个ByteArrayOutputStream 首先,我们需要创建一个ByteArrayOutputStream实例。这是我们将要写数据的OutputStream。 importjava.io.ByteArrayOutputStream;ByteArrayOutputStreambyteArrayOutputStream=newByteArray...