java導出txt

txt下載.

jsp層:

var url = "zmes001.cmd?method=exportText&message="+message;
window.open(url);

action層:
    /**
     * 導入excel模板報錯txt下載   write by cqq 2018-12-07
     * 
     * @param req
     * @param rep
     * @param errorHandler
     * @param messageHandler
     * @param viewHelper
     * @return
     */
    public void exportText(HttpServletRequest req,
            HttpServletResponse rep, IErrorHandler errorHandler,
            IMessageHandler messageHandler, ViewHelper viewHelper) {
        String jsonString = req.getParameter("message");
        this.writeToTxt(rep,jsonString,"導入錯誤數據信息");
        
    }
    
    
    /**
     * 導出文本文件   write by cqq 2018-12-07
     * 
     * @param req
     * @param rep
     * @param errorHandler
     * @param messageHandler
     * @param viewHelper
     * @return
     */
    public static void writeToTxt(HttpServletResponse response,String jsonString,String fileName) {//設置響應的字符集
        response.setCharacterEncoding("utf-8");
        //設置響應內容的類型
        response.setContentType("text/plain");
        try {
//          fileName = URLEncoder.encode(fileName, "UTF-8");
            fileName = new String(fileName.getBytes("gb2312"), "ISO8859-1");
      } catch (Exception e) {
          fileName = fileName;
      }
        //設置文件的名稱和格式
        response.addHeader(
                "Content-Disposition",
                "attachment; filename="
                        + fileName
                        + MessageFormat.format("{0,date,yyyy-MM-dd HH:mm:ss}", new Object[]{Calendar.getInstance().getTime()})
                        + ".txt");//通過後綴可以下載不同的文件格式
        BufferedOutputStream buff = null;
        ServletOutputStream outStr = null;
        try {
            outStr = response.getOutputStream();
            buff = new BufferedOutputStream(outStr);
            buff.write((jsonString).getBytes("UTF-8"));
            buff.flush();
            buff.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章