Java ByteArrayOutputStream
1 什么是Java ByteArrayOutputStream
Java ByteArrayOutputStream 类用于将公共数据写入多个文件。在此流中,数据被写入一个字节数组,该字节数组以后可以写入多个流。
ByteArrayOutputStream保存数据的副本,并将其转发到多个流。
ByteArrayOutputStream的缓冲区根据数据自动增长。
2 Java ByteArrayOutputStream的语法
public class ByteArrayOutputStream extends OutputStream
3 Java ByteArrayOutputStream的构造方法
构造方法 | 描述 |
---|---|
ByteArrayOutputStream() | 创建一个新的字节数组输出流,其初始容量为32字节,不过如果需要,其大小也会增加。 |
ByteArrayOutputStream(int size) | 创建一个新的字节数组输出流,具有指定大小的缓冲区容量(以字节为单位)。 |
4 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。 |
5 Java ByteArrayOutputStream的例子
让我们看一下一个Java ByteArrayOutputStream类的简单示例,该类将公共数据写入2个文件:f1.txt和f2.txt。
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java ByteArrayOutputStream的例子
*/
import java.io.*;
public class Demo {
public static void main(String args[])throws Exception{
FileOutputStream fout1=new FileOutputStream("D:\\yiidian\\f1.txt");
FileOutputStream fout2=new FileOutputStream("D:\\yiidian\\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
下图描述了整个程序执行的过程:
热门文章
优秀文章