详谈ByteArrayOutputStream的用法

来源:互联网 发布:常州seo徐建伟 编辑:程序博客网 时间:2024/06/08 13:15

来源:http://blog.csdn.net/qq_30841633/article/details/50002337

字节流数组: 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); } 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关心如何操作存储单元以接受和产生数据。