Java ByteArrayOutputStream
 
 
  Java ByteArrayOutputStream类用于
 写入公共数据到多个文件中。在此流中,数据被写入一个字节array中,该字节以后可以写入多个流中。
 
  ByteArrayOutputStream持有一个字节的副本。数据并将其转发到多个流。
 
  ByteArrayOutputStream的缓冲区会根据数据自动增长。
 
 
 Java ByteArrayOutputStream类声明
 
 让我们看看Java.io.ByteArrayOutputStream类的声明: 
 
 
  
   public class ByteArrayOutputStream extends OutputStream
  
 
 
  
 
Java ByteArrayOutputStream类构造函数
 
 
 
   
   | 构造函数 | 说明 | 
 
   
   | ByteArrayOutputStream() | 创建一个新的字节数组输出流,其初始容量为32个字节,不过如果需要,其大小也会增加。 | 
 
   
   | ByteArrayOutputStream(int size) | 创建一个新的字节数组输出流,具有指定大小的缓冲区容量(以字节为单位)。 | 
 
 
 
 
 Java ByteArrayOutputStream类方法
 
 
 
   
   | 方法 | 说明 | 
 
   
   | int size() | 它用于返回缓冲区的当前大小。 | 
 
   
   | byte [] toByteArray() | 它用于创建新分配的字节数组。 | 
 
   
   | String toString() | 它用于使用平台默认字符集将内容转换为string解码字节。 | 
 
   
   | String toString(String charsetName) | 用于将内容转换为使用指定的charsetName解码字节的字符串。 | 
 
   
   | void write(int b) | 用于将指定的字节写入字节数组输出流。 | 
 
   
   | void write(byte [] b,int off,int len | 用于将指定字节数组中的 len 个字节从偏移量 off 开始写入字节数组输出流。 | 
 
   
   | void writeTo(OutputStream out) | 用于将字节数组输出流的完整内容写入指定的输出流。 | 
 
   
   | void reset() | 用于将字节数组输出流的计数字段重置为零值。 | 
 
   
   | void close() | 它用于关闭ByteArrayOutputStream。 | 
 
 
 
 Java ByteArrayOutputStream的示例
 
 让我们看一下java ByteArrayOutputStream类的简单示例将公共数据写入2个文件: f1.txt和f2.txt。 
 
 
  
   package com.lidihuo;
 import java.io.*;
 public class DataStreamExample {
     public static void main(String args[])throws Exception{
         FileOutputStream fout1=new FileOutputStream("D:\\f1.txt");
         FileOutputStream fout2=new FileOutputStream("D:\\f2.txt");
         ByteArrayOutputStream bout=new ByteArrayOutputStream();
         bout.write(65);
         bout.writeTo(fout1);
         bout.writeTo(fout2);
         bout.flush();
         bout.close();
         //has no effect System.out.println("Success...");
     }
 }
  
 
 
  
 输出: 
 
 
  f1.txt: 
 
 
  f2.txt: 
 
 
