概述:本文是  java 服务器端生成文件并下载的示例,并不完善,下载之后一般来说还需要删除临时文件。

注意:临时文件存放在 /WEB-INF/tmp 目录下,所以先要把  tmp 目录建起来。

public InputStream getDownloadTest() throws Exception
{
HttpServletRequest request = getRequest(); // 得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
String savePath = request.getServletContext().getRealPath("/WEB-INF/tmp");
logger.debug("获取到的/WEB-INF/tmp 路径=== " + savePath); File tmpDir = new File(savePath);
// 判断上传文件的保存目录是否存在
if (!tmpDir.exists() && !tmpDir.isDirectory())
{
tmpDir.createNewFile();
logger.debug(savePath + "目录不存在,需要创建。"); // 创建目录
tmpDir.mkdir();
} String fileWriteTime = DateFormat.DATE_TIME_WITHOUT_SECONDS.getCurrentDate(); String tmpFileName = savePath + "\\" + fileWriteTime + ".txt";
logger.debug("临时文件名:===" + tmpFileName); File file = new File(tmpFileName);
// 判断上传文件的保存目录是否存在
if (!file.exists())
{
file.createNewFile();
logger.debug("临时文件创建不成功。");
} FileWriter fileWriter = new FileWriter(file, true); // 流的方式
BufferedWriter bufferWriter = new BufferedWriter(fileWriter);
bufferWriter.write("文件写入时间:\r\n" + fileWriteTime);
bufferWriter.close(); // 第二种方式
/*
* PrintWriter printWriter=new PrintWriter(fileWriter);
* printWriter.println("文件写入时间:\r\n"+ fileWriteTime);
* printWriter.close();
*/ fileWriter.close(); // 返回文件
HttpServletResponse response = getResponse();
response.addHeader("Content-Disposition", "attachment;filename="
+ fileWriteTime + ".txt");
//response.setContentType("application/vnd.ms-excel;charset=gb2312"); //return new FileInputStream(file); //下面两种方式都可以
return new FileInputStream(file);
// return new FileInputStream(tmpFileName); }

Java Web 生成临时文件并下载(原)的更多相关文章

  1. Java Web 生成临时文件并下载

    转自: Java Web 生成临时文件并下载 概述:本文是  java 服务器端生成文件并下载的示例,并不完善,下载之后一般来说还需要删除临时文件. 注意:临时文件存放在 /WEB-INF/tmp 目 ...

  2. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...

  3. java web service 上传下载文件

    1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ...

  4. java web 文件上传下载

    文件上传下载案例: 首先是此案例工程的目录结构:

  5. Java web文件上传下载

    [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52048666 作者:朱培 ID:sdksdk0 邮 ...

  6. java动态生成excel打包下载

    @SuppressWarnings("unchecked") public String batchExport() throws DBException{ @SuppressWa ...

  7. java web服务器文件的下载(有下载弹出匡)

    昨天做了一个文件从服务下载的功能,怎么都不弹出页面,下载框.后查询得知.目前两种方法 1.<a href='下载路径' /> 2.window.location.href = basePa ...

  8. JAVA WEB主流开发工具下载集

    JAVA SEhttp://www.oracle.com/technetwor ... ownloads/index.html eclipsehttp://www.eclipse.org/downlo ...

  9. Java Web应用服务器Resin 国内下载

    在做 PHP On Jvm的测试,发现Resin很难下,速度太慢. 下载地址:http://pan.baidu.com/s/1qWyffnY

随机推荐

  1. Codeforces Round #396 (Div. 2) B. Mahmoud and a Triangle 贪心

    B. Mahmoud and a Triangle 题目连接: http://codeforces.com/contest/766/problem/B Description Mahmoud has ...

  2. Slickflow.NET 开源工作流引擎基础介绍(十) -- 邮件轮询异步发送模块集成

    前言:在任务数据生成时,为了让办理任务的用户及时获取到待办任务的主题和内容,需要发送通知类的消息,而电子邮件和手机端的短信通知则是比较普通的消息发送.本文是针对电子邮件异步发送模块的实现来做实例说明. ...

  3. embOS实时操作系统 - 任务状态

    A task may be in one of several states at any given time. When a task is created, it is placed into ...

  4. 【Go命令教程】3. go install

    命令 go install 用于编译并安装指定的代码包及它们的依赖包.当指定的代码包的依赖包还没有被编译和安装时,该命令会先去处理依赖包.与 go build 命令一样,传给 go install 命 ...

  5. android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)

    写UI布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  6. SQL:修复脚本的几点注意事项

    背景 系统上线之后一定会出现需求变动,某些需求变动要求会对系统数据产生影响,因此需要修复脚本,本文介绍修复脚本的几点事项. 注意事项 包含在事务中 使用事务,但是先rollback tran,在真实环 ...

  7. FAQ:什么情况下使用 struct ?

    问: 什么情况下使用 struct ? 答: 使用 struct 有几个前提(必须全部满足): 容忍 struct 本身的限制,如:不能继承. 值语义. 足够小(<=16字节). 如果 stru ...

  8. jQuery - 同时添加click和dblclick事件

    添加事件的代码比较简单,有两种方法: $("abc").bind({"click":fn,"dblclick":fn}); $(" ...

  9. 安卓开发(Java)中关于final关键字与线程安全性

    前言 学习新知识固然重要,但是时常往回看看,温故知新是很必要的.回顾一下线程安全性和final关键字. 正文 从Java 5开始,final keyword一个特殊用法是在并发库中一个非常重要且经常被 ...

  10. 用SimpleAdapter来设置ListView的内容

    Mainactivit.java package com.kale.listview; import java.util.ArrayList; import java.util.HashMap; im ...