ByteArrayOutputStream是一个把字节数组当作输出流的实现。
package com.ahuier.io2;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class ByteArrayOutputStreamTest1 {
public static void main(String[] args) throws Exception {
ByteArrayOutputStream f = new ByteArrayOutputStream();
String str = "hello world welcome";
byte[] buffer = str.getBytes();
/*
* 查看JDK文档中OutputStream的write(byte[] b)
* 直接将buffer数据写入ByteArrayOutputStream里面去了
*/
f.write(buffer);
/*
* 将ByteArrayOutputStream的字节再拿出来打印出来
* 使用toByteArray()将流里面的内容又转换成字节数组
*/
byte[] result = f.toByteArray();
for(int i = 0; i < result.length; i++){
System.out.println((char)result[i]);
}
OutputStream os = new FileOutputStream("test.txt");
//通过这个writeTo()把f里面的字节数组写到了os流里面的test.txt文件里面去
f.writeTo(os);
os.close();
}
}
编译执行结果,这里不贴出来了,注意刷新Eclipse工程目录下test.txt文件里面也有写入