使用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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM