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-03 16:49:34