读书人

ByteArrayOutputStream跟ByteArrayInp

发布时间: 2012-10-07 17:28:51 作者: rapoo

ByteArrayOutputStream和ByteArrayInputStream详解

字节数组流:
ByteArrayOutputStream:??? 可以捕获内存缓冲区的数据,转换成字节数组。
?ByteArrayoutputStream bout=new ByteArrayOutputStream();
?bout.write(int a);? bout.write(int b);? bout.write(int c);
?byte[] buf=bout.toByteArray();//获取内存缓冲中的数据
?for(int i=0;i<=buf.length;i++)
?{
??System.out.println(buf[i]);
?}
?bout.close();
?注:通过调用reset()方法可以重新定位。

ByteArrayInputStream: 可以将字节数组转化为输入流
?ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
?int data=0;
?while( (b=bin.read())!=-1)
?{
??System.out.println(b);
?}
?bin.close();


与DataOutputStream&DataInputStream联合使用:
?
?ByteArrayOutputStream bout=new ByteArrayOutputStream();
?DataOutputStream dos=new DataOutputStream(bout);
?String name="suntao";
?int age=19;
?dos.writeUTF(name);
?dos.writeInt(age);
?byte[] buf=bout.toByteArray();//获取内存缓冲区中的数据
?dos.close();
?bout.close();


?ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
?DataInputStream dis=new DataInputStream(bin);
?String name=dis.readUTF();//从字节数组中读取
?int age=dis.readInt();
?dis.close();
?bin.close();
?
注:? DataInputStream&DataOutputStream还可以与FileInputStream&FileOutputStream

联合使用。

其中:

DataInputStream&DataOutputStream关心如何将数据从高层次的形式转化成低层次的形式.
?FileInputStream&FileOutputStream关心如何操作存储单元以接受和产生数据。

读书人网 >其他相关

热点推荐