ByteArrayOutputStream 和ByteArrayInputStream详解

来源:互联网 发布:画装修图软件 编辑:程序博客网 时间:2024/04/28 23:27
 
ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下:

ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。

ByteArrayInputStream: 可以将字节数组转化为输入流

 1import java.io.*;
 2
 3public class test {
 4 public static void main(String[] args) {
 5  int a=0;
 6  int b=1;
 7  int c=2;
 8  ByteArrayOutputStream bout = new ByteArrayOutputStream();
 9  bout.write(a);
10  bout.write(b);
11  bout.write(c);
12  byte[] buff = bout.toByteArray();
13  for(int i=0; i<buff.length; i++)
14   System.out.println(buff[i]);
15  System.out.println("***********************");
16  ByteArrayInputStream bin = new ByteArrayInputStream(buff);
17  while((b=bin.read())!=-1) {
18   System.out.println(b);
19  }
20 }
21}
22
23
24

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

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

 1import java.io.*;
 2
 3public class test {
 4 public static void main(String[] args)throws IOException {
 5  ByteArrayOutputStream bout = new ByteArrayOutputStream();
 6  DataOutputStream dout = new DataOutputStream(bout);
 7  String name = "xxy";
 8  int age = 84;
 9  dout.writeUTF(name);
10  dout.writeInt(age);
11  byte[] buff = bout.toByteArray();
12  ByteArrayInputStream bin = new ByteArrayInputStream(buff);
13  DataInputStream dis = new DataInputStream(bin);
14  String newName = dis.readUTF();
15  int newAge = dis.readInt();
16  System.out.println(newName+":"+newAge);
17 }
18}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑颜色不正常分辨率调不了怎么办 宝宝认人怎么办 五个月 新生儿42天听力筛查未通过怎么办 幼儿大便干燥拉不下粑粑怎么办 宝宝大便干燥拉粑粑带浓血怎么办 新生儿便秘4天了怎么办 写卷子的题目不认识怎么办? 2个月小猫尿床怎么办 安全教案鱼刺卡住了怎么办 被鱼刺卡住怎么办安全教案 小班健康教案生病了怎么办 被蜜蜂蛰了怎么办教案 走丢了怎么办大班反思 小孩吃了硬物怎么办 小孩吞了硬物怎么办 小学二年级孩子成绩不好怎么办 二年级孩子成绩不好怎么办 一年级学的不好二年级怎么办 17个月宝宝夜奶怎么办 小孩吃积食了吐怎么办 11个宝宝不会爬怎么办 5岁宝宝严重挑食怎么办 孩子吃菜口味重怎么办? 孩子挑食不吃菜不吃肉怎么办 微信新的朋友回复频繁怎么办 忘了闺蜜生日怎么办 把闺蜜生日忘了怎么办 忘了闺蜜的生日怎么办 一岁宝宝不吃菜怎么办 幼儿园教案虫子爬进耳朵怎么办 鼻子出血怎么办幼儿说课 英语记不住发音不准怎么办 幼儿园孩子拼音记不住怎么办 孩子总是记不住东西怎么办 走丢了怎么办小班教案 走丢了怎么办小班社会 数学加减个十分不清怎么办 孩子b和d分不清怎么办 小孩b和d分不清怎么办 高一的数学不会怎么办 农村小孩到市里上学怎么办