JAVA的ByteArrayOutputStream

为什么要使用ByteArrayOutputStream?

我的看法是,有时InputStream里面的内容很大,不能一次读完,需要一个中转站来储存里面的数据,而不是需要一次数据就又打开InputStream来读取一次。

而ByteArrayOutputStream就是个很好的中转站,他用自身来存储大量byte数据,需要使用时,只要调用toByteArray()返回byte数组就好。

 

ByteArrayOutputStream outStream = new ByteArrayOutputStream();

 

byte [] buf = new byte[1024];//用1k做缓存

 

int len = 0;

//如果InStream读不到数据,就返回-1.用while循环一直读取
while((len=inStream.read(buf))!=-1){
System.out.println(len);
outStream.write(buf,0,len);
}
inStream.close();
outStream.close();

 

//返回byte数组

outStream.toByteArray()

posted @ 2015-12-07 00:50  wzb的QQ空间  阅读(850)  评论(0编辑  收藏  举报