閱讀161 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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 05:40:39

  上一篇:go JSP中拚裝數據為XML出現的問題
  下一篇:go C#委托基礎4——泛型委托Func