1. 程式人生 > >java寫檔案、匯出效率問題以及下載問題

java寫檔案、匯出效率問題以及下載問題

首先比較常用的輸出流方法分為兩大類:OutputStream類和Writer類,分別有FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter。

通過以上兩篇文章我們可以發現,FileWriter和BufferedWriter的效率比較快,一般來說FileOutputStream和BufferedOutputStream會結合使用,FileWriter和BufferedWrite會結合使用,因為一個Buffer類存在flush方法,這個方法是將在快取區的內容寫到檔案中去。所以可以提高效率,用來輔助FileOutputStream和FileWriter。

如何實現瀏覽器下載,這裡我們使用BufferedWriter來匯出一個.sql檔案

public int doUploadData() throws SQLException, ActiveRecordException, IOException {
	response.setContentType("application/msexcel;");
	//attachment表示響應下載檔案
	response.setHeader("Content-Disposition", "attachment;filename="
					+ "upload.sql");
	//獲取伺服器響應response的輸出流
BufferedWriter bw=new BufferedWriter(response.getWriter()); String updateStr=""; /* 將sql語句存到updateStr中 */ bw.write(updateStr); bw.newLine(); bw.flush(); String insertStr=""; /* 將sql語句存到insertStr中 */ bw.write(insertStr); bw.newLine(); bw.flush(); bw.close(); }

之後就可以在瀏覽器的下載區看到這樣的效果啦。 在這裡插入圖片描述