一、基本概念
在创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。
可使用toByteArray()和toString()获取数据。
关闭ByteArrayOutputStream无效,此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException。
二、例子
- public String read(String filename) throws Exception
- {
- FileInputStream fis = new.FileInputStream(filename);
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int len = 0;
- // 将内容读到buffer中,读到末尾为-1
- while ((len = fis.read(buffer)) != -1)
- {
- // 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用
- outStream.write(buffer, 0, len);
- }
- byte[] data = outStream.toByteArray(); // 取内存中保存的数据
- fis.close();
- String result = new String(data, "UTF-8");
- return result;
- }
本文转自
IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1076282如需转载请自行联系原作者
woshixuye111