java导出txt

这篇博客介绍了如何在Java中实现TXT文件的导出。通过jsp页面触发,调用action层的方法`exportText`,接收参数并利用`writeToTxt`方法将JSON字符串写入TXT文件,设置响应头以供下载。文件名包含当前时间戳,确保唯一性,并使用UTF-8编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值