使用ByteArrayOutputStream和DataOutputStream构造字节数组

JDK文档上这样描述ByteArrayOutputStream

此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray()toString() 获取数据。

它继承于OutputStream。

DataOutputStream允许将Java中基本的数据类型写入到输出流中,它是一个过滤输出流(FilterOutputStream),构造方法需要一个OutputStream。

通过下面代码,我们可以看到将上述二者结合可以很容易构造字节数组。 

  

 1 ByteArrayOutputStream bos = new ByteArrayOutputStream();

 2 DataOutputStream dos = new DataOutputStream(bos);
 3         
 4 try {
 5     dos.write(3); 
 6     dos.writeBytes("abc");
 7 } catch (IOException e) {        
 8     e.printStackTrace();
 9 }
10         
11 byte[] bArray = bos.toByteArray();
12         
13 for (int i = 0; i < bArray.length; ++i){
14     System.out.println(bArray[i]);
15 }

 // output:

  3

97
98
99
原文地址:https://www.cnblogs.com/hdtianfu/p/2360570.html