ByteArrayOutputStream及其在IO中的應用
一、基本概念
在創建ByteArrayOutputStream類實例時,內存中會創建一個byte數組類型的緩衝區,緩衝區會隨著數據的不斷寫入而自動增長。
可使用toByteArray()和toString()獲取數據。
關閉ByteArrayOutputStream無效,此類中的方法在關閉此流後仍可被調用,而不會產生任何IOException。
二、例子
/**
* 讀取文件內容
*
* @param filename 文件名
* @return
*/
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;
}
最後更新:2017-04-02 15:15:37