package cn.io;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
/**
* 字节数组输出流ByteArrayOutputStream
* 1.创建源:内部维护
* 2.选择流:不关联源
* 3.操作(写出内容)
* 4.释放资源:可以不用
* 获取数据:toByteArray()
* @author Chill Lyn
*
*/
public class TestByteArrayOutputStream {
public static void main(String[] args) {
// 创建源,文件可以不存在
byte[] dest = null;
// 选择流(新增方法,不能使用多态)
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
// append true:在文件末尾追加内容
// append false:覆盖重写
// 操作,写出内容
String msg = "I LOVE YOU FOREVER!";
// 编码
byte[] datas = msg.getBytes();
baos.write(datas, 0, datas.length);
baos.flush();
// 获取数据
dest = baos.toByteArray();
// System.out.println(dest.length);
} catch (IOException e) {
e.printStackTrace();
}
}
}
备注
1.ByteArrayOutputStream()新增获取数据方法:toByteArray(),所以不能使用多态,不能使用BufferedOutputStream修饰。
2.字节数组流可以不用释放资源。