Java教程-Java ByteArrayOutputStream类

Java ByteArrayOutputStream类
Java ByteArrayOutputStream类用于将常见数据写入多个文件。在此流中,数据被写入字节数组中,稍后可以将其写入多个流中。
ByteArrayOutputStream将数据保存在副本中,并将其转发到多个流中。
ByteArrayOutputStream的缓冲区根据数据自动增长。
Java ByteArrayOutputStream类声明
让我们看一下Java.io.ByteArrayOutputStream类的声明:
public class ByteArrayOutputStream extends OutputStream
Java ByteArrayOutputStream类的构造方法
Constructor | Description |
---|---|
ByteArrayOutputStream() | 创建一个初始容量为 32 字节的新字节数组输出流,但它的大小会在必要时增加。 |
ByteArrayOutputStream(int size) | 创建一个新的字节数组输出流,具有指定大小的缓冲区容量,以字节为单位。 |
Java ByteArrayOutputStream类的方法
Method | Description |
---|---|
int size() | 它用于返回缓冲区的当前大小。 |
byte[] toByteArray() | 它用于创建新分配的字节数组。 |
String toString() | 它用于使用平台默认字符集将内容转换为字符串解码字节。 |
String toString(String charsetName) | 它用于使用指定的 charsetName 将内容转换为字符串解码字节。 |
void write(int b) | 它用于将指定的字节写入字节数组输出流。 |
void write(byte[] b, int off, int len | 它用于将指定字节数组中从偏移量off开始的len 个字节写入字节数组输出流。 |
void writeTo(OutputStream out) | 用于将字节数组输出流的完整内容写入指定的输出流。 |
void reset() | 它用于将字节数组输出流的计数字段重置为零值。 |
void close() | 它用于关闭 ByteArrayOutputStream。 |
Java ByteArrayOutputStream示例
让我们看一个简单的例子,使用Java ByteArrayOutputStream类将常见数据写入两个文件:f1.txt和f2.txt。
package com.javatpoint;
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();//没有效果
System.out.println("Success...");
}
}
输出:
Success...
f1.txt:
A
f2.txt:
A