IO流——ByteArrayOutputStream字节数组输出流

前面学的流必须要关联一个文件:
FileOutputStream fos=new FileOutputStream(“a.txt”);
ByteArrayOutputStream 不需要关联文件
此类实现了一个输出流,其中的数据被写入一个byte数组(内存),缓冲区会随着数据的不断写入而自动增长,可使用toByteArray()和toString()获取数据。

//创建输入流
FileInputStream fis=new FileInputStream("a.txt");
//创建字节数组输出流对象
ByteArrayOutputStream baos=new ByteArrayOutputStream();
//写入输出流(写到内存中)
int b=0;
while((b=fis.read())!=-1){
baos.write(b);
}
//自动把字节数组转成字符串
System.out.println(baos.toString());
System.out.println(baos.toString("UTF-8"));//指定编码格式的字符串
//获取文件数据
byte[] bytes=baos.toByteArray();
System.out.println(new String(bytes));
System.out.println(new String(bytes,"UTF-8"));//指定编码格式的字符串
//关流 
fis.close();
发布了89 篇原创文章 · 获赞 0 · 访问量 1561

猜你喜欢

转载自blog.csdn.net/ShiZaolin/article/details/104162996