博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ByteArrayOutputStream的用法
阅读量:7044 次
发布时间:2019-06-28

本文共 1627 字,大约阅读时间需要 5 分钟。

hot3.png

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下: 

ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组 
ByteArrayInputStream: 可以将字节数组转化为输入流

public static void main(String[] args) {     int a = 0;     int b = 1;     int c = 2;     ByteArrayOutputStream bout = new ByteArrayOutputStream();     bout.write(a);     bout.write(b);     bout.write(c);     byte[] buff = bout.toByteArray();     for (int i = 0; i < buff.length; i++)         System.out.println(buff[i]);     System.out.println("***********************");     ByteArrayInputStream bin = new ByteArrayInputStream(buff);     while ((b = bin.read()) != -1) {         System.out.println(b);     } }

如上所示,ByteArrayOutputStream把内存中的数据读到字节数组中,而ByteArrayInputStream又把字节数组中的字节以流的形式读出,实现了对同一个字节数组的操作. 

综合DataOutputStream&DataInputStream的作用和功能,与ByteArrayOutputStream和ByteArrayInputSream使用将更方便.此时DataOutputStream&DataInputStream封闭了字节流,以适当的形式读出了字节数组中的数据.如下所示: 

public static void main(String[] args) throws IOException {     ByteArrayOutputStream bout = new ByteArrayOutputStream();     DataOutputStream dout = new DataOutputStream(bout);     String name = "xxy";     int age = 84;     dout.writeUTF(name);     dout.writeInt(age);     byte[] buff = bout.toByteArray();     ByteArrayInputStream bin = new ByteArrayInputStream(buff);     DataInputStream dis = new DataInputStream(bin);     String newName = dis.readUTF();     int newAge = dis.readInt();     System.out.println(newName + ":" + newAge); }

转载于:https://my.oschina.net/anyyang/blog/342500

你可能感兴趣的文章
使用Feign实现Form表单提交
查看>>
linux 压缩及归档
查看>>
Linux下的DNS
查看>>
floor和ceil函数的返回自是double型的
查看>>
14.3继承
查看>>
死锁预防和死锁防止
查看>>
leetcode--合并两个有序的链表
查看>>
企业运维—玩转 windows server 2016 DNS服务
查看>>
Scala flatMap的变体
查看>>
rpm,yum程序包管理器
查看>>
Hadoop常见错误及处理方式
查看>>
docker swarm ,滚动更新
查看>>
门户网站磁盘占满,清除方法
查看>>
Java设计模式之代理模式
查看>>
rsync+inotify实时同步备份服务
查看>>
思科·远程连接、密码破解
查看>>
iptables防火墙(一)
查看>>
c++学习笔记---虚函数与纯虚函数
查看>>
Android 音视频深入 三 MP4解码播放视频 (附源码下载)
查看>>
Linux学习- 1 初始Linux 20180407
查看>>