importjava.io.ByteArrayOutputStream;// 创建一个ByteArrayOutputStream实例ByteArrayOutputStreamoutputStream=newByteArrayOutputStream(); 1. 2. 3. 4. 将数据写入OutputStream // 将字符串数据写入OutputStreamStringdata="Hello, OutputStream to InputStream!";try{outputStream.write(data.getBytes());// 将...
Reddit/ r / java子redditit包含一个有趣的讨论,标题为“JDK 9中的新方法:InputStream.transferTo(OutputStream)”。 不是所有人都喜欢在JDK 9中添加InputStream.transferTo(OutputStream)。在“Java 9:好的,坏的和专用的接口方法”一文中,Yegor Bugayenko将InputStream描述为“已经过时的类”,并且写道InputStrea...
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; public class OutputStreamToInputStreamExample { public static void main(String[] args) throws IOException { // 步骤2 & 3: 使用ByteArrayOutputStream作为缓冲区 By...
方法一:使用字节数组缓存数据 最简单的方法是用字节数组缓存数据。代码 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...
ByteArrayOutputStream baos=newByteArrayOutputStream();ByteArrayInputStream swapStream=newByteArrayInputStream(baos.toByteArray()); 这种方式最为简单,但是要求执行baos.toByteArray()这个方法之前,需要的数据已经完全写入,即无法做到边写边读,另外其需要足够的内存来一次性的容纳这些数据。
//OutputStream 转String public String parse_String(OutputStream out)throws Exception { ByteArrayOutputStream baos=new ByteArrayOutputStream();baos=(ByteArrayOutputStream) out;ByteArrayInputStream swapStream = new ByteArrayInputStream(baos.toByteArray());return swapStream.toString();} //String...
” 方法一:使用字节数组缓存数据 最简单的方法是用字节数组缓存数据。代码如下: ByteArrayOutputStream out = new ByteArrayOutputStream(); class1.putDataOnOutputStream(out); class2.processDataFromInputStream( new ByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为Input...
class1.putDataOnOutputStream(out); class2.processDataFromInputStream( new ByteArrayInputStream(out.toByteArray()) ); 于是,OutputStream就被转换为InputStream了。 方法二:使用管道 第一种方法的问题是你必须有足够的内存缓存所有数据。你可以使用文件系统缓存更多数据,但无论如何可处理数据的大小还是受到限制。
importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.InputStream;importjava.io.OutputStream;publicclassStreamConversion{publicstaticvoidmain(String[]args){try{// 步骤1:创建OutputStreamOutputStreamoutputStream=newByteArrayOutputStream();// 步骤2:写入数据到OutputStreamStringda...