java寫檔案、匯出效率問題以及下載問題
阿新 • • 發佈:2018-12-14
首先比較常用的輸出流方法分為兩大類: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();
}
之後就可以在瀏覽器的下載區看到這樣的效果啦。