转自:

Java Web 生成临时文件并下载

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

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

public InputStream getDownloadTest() throws Exception
{
HttpServletRequest request = getRequest(); // 得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
String savePath = request.gerSession().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-INF/tmp 目录下,所以先要把  tmp 目录建起来. pu ...

  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. C/C++语言基础

    1. 一个子类中含有其他类对象,则构造函数的顺序是? 先执行基类的(如果基类当中有虚基类,要先执行虚基类的,其他基类则按照声明派生类是的顺序依次执行),在执行成员对象的,最后执行自己的. 2.spri ...

  2. Kafka安装之三 spring-kafka实践

    一.spring-kafka配置详解 1.1 要是用spring-kafka 我们首先要在pom要.xml中引入spring-kafka包 <dependencies> <depen ...

  3. Bin Packing 装箱问题——NPH问题的暴力枚举 状压DP

    题目: 给定n(1≤n≤24)个物品,重量分别为wi,装进一些容量为S(S<1e8)的背包,最少需要多少个背包?

  4. 6. 网络信息API

    一.用数值表示socket地址&用名字表示socket地址(socket地址==>IP地址和端口号) 1. 用数值表示socket地址不便于记忆,也不便于扩展(比如从IPv4转移到IPv ...

  5. python __call__ 函数

    __call__ Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的. 换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符. ...

  6. debian 安装kde

    今天用最小安装安装了一台debian虚拟机,想要安装kde桌面,总是安装不上,使用语句 apt-get install kde apt-get install kde4 都试了,不行.最终查看debi ...

  7. bash编程2

    bash基础编程 前言:条件测试语法有两种书写模式,一种时[expression] ,另外一种是[[exprssion]] ,为了在书写条件测试的过程中,不让大家将两种格式互相混淆,那么在这里只讲一种 ...

  8. HTTPD解析介绍

    配置文件全局介绍 (1)主配置文件:/etc/httpd/conf/httpd.conf 全局配置:Section 1: Global Environment 第33行 中心主机配置: Section ...

  9. vbs习题

    练习题: 1.输入3个数,输出其中最大的那个值. Option Explicit Dim intA,intB,intC intA=CInt(InputBox("请输入a:")) i ...

  10. 增加响应header让ajax支持跨域

    ajax请求数据步骤 发送请求--->浏览器接受响应--->判断是否是同域下 是的话,就把响应数据返回给ajax.不是的话就提醒禁止跨域请求. 现在可以在响应头重增加 header(&qu ...