java-admin 发表于 2013-1-26 13:38:50

ByteArrayOutputStream和ByteArrayInputStream详解

http://www.blogjava.net/rainmanyang/articles/232045.html
 
 
ByteArrayOutputStream和ByteArrayInputStream详解

<div class="postbody">ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下:ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。
ByteArrayInputStream: 可以将字节数组转化为输入流


<div style="padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; padding-top: 4px; border: #cccccc 1px solid;"> 1http://java-admin.iteye.com/Images/OutliningIndicators/None.gifimport java.io.*;
 2http://java-admin.iteye.com/Images/OutliningIndicators/None.gif
 3http://java-admin.iteye.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://java-admin.iteye.com/Images/OutliningIndicators/ContractedBlock.gifpublic class test http://www.blogjava.net/Images/dot.gif{
 4http://java-admin.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://java-admin.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif public static void main(String[] args) http://www.blogjava.net/Images/dot.gif{
 5http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  int a=0;
 6http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  int b=1;
 7http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  int c=2;
 8http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  ByteArrayOutputStream bout = new ByteArrayOutputStream();
 9http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  bout.write(a);
10http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  bout.write(b);
11http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  bout.write(c);
12http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  byte[] buff = bout.toByteArray();
13http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  for(int i=0; i<buff.length; i++)
14http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif   System.out.println(buff);
15http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  System.out.println("***********************");
16http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif  ByteArrayInputStream bin = new ByteArrayInputStream(buff);
17http://java-admin.iteye.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://java-admin.iteye.com/Images/OutliningIndicators/ContractedSubBlock.gif  while((b=bin.read())!=-1) http://www.blogjava.net/Images/dot.gif{
18http://java-admin.iteye.com/Images/OutliningIndicators/InBlock.gif   System.out.println(b);
19http://java-admin.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif  }
20http://java-admin.iteye.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
21http://java-admin.iteye.com/Images/OutliningIndicators/ExpandedBlockEnd.gif}
22http://java-admin.iteye.com/Images/OutliningIndicators/None.gif
23http://java-admin.iteye.com/Images/OutliningIndicators/None.gif
24http://java-admin.iteye.com/Images/OutliningIndicators/None.gif
页: [1]
查看完整版本: ByteArrayOutputStream和ByteArrayInputStream详解