本文概述
Java ByteArrayOutputStream类用于将公共数据写入多个文件。在此流中, 数据被写入字节数组, 此字节数组以后可以写入多个流。
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 toString(String charsetName)
它用于使用指定的charsetName将内容转换为解码字节的字符串。
void write(int b)
它用于将指定的字节写入字节数组输出流。
void write(byte [] b, int off, int len
它用于从偏移量开始将指定字节数组中的len个字节写入字节数组输出流。
void writeTo(OutputStream out)
它用于将字节数组输出流的完整内容写入指定的输出流。
void reset()
它用于将字节数组输出流的计数字段重置为零值。
void close()
它用于关闭ByteArrayOutputStream。
Java ByteArrayOutputStream的示例
我们来看一个简单的java ByteArrayOutputStream类示例, 该类将公共数据写入2个文件:f1.txt和f2.txt。
package com.srcmini;
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...");
}
}
输出:
Success...
f1.txt:
A
f2.txt:
A