java实现下载任意格式文件
2013-07-02 16:45
405 查看
第一步我们需要 写一个自己的html文件 (根据自己的需求,进行编写文件模板)
第二部 采用struts2 作为action
最后我们可以通过访问action的方式进行下载文件
以上信息希望对你有所帮助!
<html> <head> <title>###title###</title> <meta http- equiv="Content-Type" content="text/html; charset=gb2312"> <LINK href="../css.css" rel=stylesheet type=text/css> </head> <body> <table width="500" border="0" align="center" cellpadding="0" cellspacing="2"> <tr><td align="center">###title###</td></tr> <tr><td align="center">###author###</td></tr> <tr><td align="center">###content###</td></tr> </table> </body> </html>
第二部 采用struts2 作为action
public String downloadFiles() { try { HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); // 解决中文乱码问题 response.setContentType("application/x-download;charset=utf-8"); /** 读取模板文件内容 */ FileInputStream input = new FileInputStream(new File(request .getRealPath("") + "/WEB-INF/temp.html")); int byteLength = input.available(); String title = "梦三国之下载任意格式文件"; String content = "测试。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。"; String editer = "梦三国忠实粉丝"; byte[] bytes = new byte[byteLength]; input.read(bytes); input.close(); String templateContent = new String(bytes); System.out.println("模板文件内容===" + templateContent); templateContent = templateContent.replaceAll("###title###", title); templateContent = templateContent.replaceAll("###content###", content); templateContent = templateContent .replaceAll("###author###", editer);// 替换掉模板中相应的地方 System.out.print("替换后的文件内容" + templateContent); String name = "梦三国.html";// 下载文件名称 byte[] outPutcontent = templateContent.getBytes();// 下载文件内容 response.setContentType("application/x-msdownload "); response.setHeader("Content-Disposition", "attachment;filename=" + new String(name.getBytes("gbk"), "iso-8859-1")); response.getOutputStream().write(outPutcontent); // 写入文件 response.getOutputStream().flush(); response.getOutputStream().close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
最后我们可以通过访问action的方式进行下载文件
以上信息希望对你有所帮助!
相关文章推荐
- 手机浏览器下载的m3u8格式的多个视频文件合并成一个视频(Java实现)
- java使用FTPClient实现文件的上传和下载
- Java 文件上传和下载组件的设计与实现...【Pnoter】
- Java实现任意文件在bmp中的隐藏与导出
- java网络编程六:DatagramSocket类简单实现文件下载
- java实现单个或多个文件的压缩、解压缩 支持zip、rar等格式
- java实现文件下载的两种方式
- OSS实现多文件多线程的断点下载(java)
- JAVA 实现 HTTP文件下载
- java实现阿里OSS服务器多文件打包ZIP下载,批量下载
- 通用 Java 文件上传和下载组件的设计与实现
- java实现多个文件打包下载
- 【转】JSch - Java实现的SFTP(文件下载详解篇)
- Java_常瑞鹏 实现文件上传与下载
- java实现把数据库数据导出成word文件实现文件下载功能
- Java 实现ftp上传下载文件
- Java中实现文件上传下载的三种解决方案 之一
- Java实现获取指定路径下的指定格式的文件;
- Java代码实现文件下载
- 让TXT文本等其他任意格式的文件,不在IE中打开,而直接下载的方法