ByteArrayOutputStream及其在IO中的应用

一、基本概念

在创建ByteArrayOutputStream类实例时,内存中会创建一个byte数组类型的缓冲区,缓冲区会随着数据的不断写入而自动增长。

可使用toByteArray()和toString()获取数据。

关闭ByteArrayOutputStream无效,此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException。

 

二、例子
 

  
  
  
  
  1. public String read(String filename) throws Exception  
  2. {  
  3.  FileInputStream fis = new.FileInputStream(filename);  
  4.  ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
  5.  byte[] buffer = new byte[1024];  
  6.  int len = 0;  
  7.  // 将内容读到buffer中,读到末尾为-1  
  8.  while ((len = fis.read(buffer)) != -1)  
  9.  {  
  10.   // 本例子将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用  
  11.   outStream.write(buffer, 0, len);  
  12.  }  
  13.  byte[] data = outStream.toByteArray(); // 取内存中保存的数据  
  14.  fis.close();  
  15.  String result = new String(data, "UTF-8");  
  16.  return result;  

你可能感兴趣的:(ByteArrayOutputStream及其在IO中的应用)