Java Web 生成临时文件并下载(原)
概述:本文是 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 生成临时文件并下载(原)的更多相关文章
- Java Web 生成临时文件并下载
		
转自: Java Web 生成临时文件并下载 概述:本文是 java 服务器端生成文件并下载的示例,并不完善,下载之后一般来说还需要删除临时文件. 注意:临时文件存放在 /WEB-INF/tmp 目 ...
 - 解决java web中safari浏览器下载后文件中文乱码问题
		
解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...
 - java web service 上传下载文件
		
1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ...
 - java web 文件上传下载
		
文件上传下载案例: 首先是此案例工程的目录结构:
 - Java web文件上传下载
		
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52048666 作者:朱培 ID:sdksdk0 邮 ...
 - java动态生成excel打包下载
		
@SuppressWarnings("unchecked") public String batchExport() throws DBException{ @SuppressWa ...
 - java web服务器文件的下载(有下载弹出匡)
		
昨天做了一个文件从服务下载的功能,怎么都不弹出页面,下载框.后查询得知.目前两种方法 1.<a href='下载路径' /> 2.window.location.href = basePa ...
 - JAVA WEB主流开发工具下载集
		
JAVA SEhttp://www.oracle.com/technetwor ... ownloads/index.html eclipsehttp://www.eclipse.org/downlo ...
 - Java Web应用服务器Resin 国内下载
		
在做 PHP On Jvm的测试,发现Resin很难下,速度太慢. 下载地址:http://pan.baidu.com/s/1qWyffnY
 
随机推荐
- Android签名详解
			
1.什么是签名? 如果这个问题不是放在Android开发中来问,如果是放在一个普通的版块,我想大家都知道签名的含义.可往往就是将一些生活中常用的术语放在计算机这种专业领域,大家就开始迷惑了. ...
 - NodeJS下的Mongodb操作
			
今天用Node写一个小程序中需要用到数据库操作,试用了一下,发现官方的驱动已经非常好用了,也支持async. 一个简单的实例如下: const MongoClient = require('mongo ...
 - J1850 Implement
			
http://avrobdii.googlecode.com/svn/trunk/code/J1850.c /* Copyright (C) Trampas Stern name of author ...
 - STM32的CRC32 实现代码 -- Ether
			
uint32_t reverse_32( uint32_t data ) { asm("rbit r0,r0"); return data; } ; uint32_t crc32_ ...
 - select,poll,epoll之间的区别
			
(1)select,poll实现需要自己不断轮询所有fd集合,直到设备就绪,期间可能要睡眠和唤醒多次交替.而epoll其实也需要调用epoll_wait不断轮询就绪链表,期间也可能多次睡眠和唤醒交替, ...
 - SharePoint SPUtility.SendEmail 发送邮件设置级别
			
前言 熟悉sharepoint开发的都知道,sharepoint默认有个发送邮件的方法,不过,最近有个需求,用户希望发送邮件的时候,带上邮件的级别. 经过研究,发现有下面的办法,可以添加邮件的发送级别 ...
 - docker查看容器的网络ip
			
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id 可直 ...
 - 反恐24小时第一季/全集24 Live Another Day迅雷下载
			
反恐24小时 第一至九季 24 Season 1-9 (2001-2014) 本季看点:<24小时>第8季将在拥有美国的象征自由女神像的纽约开始,在新的一天,CTU重新开张,新的领导为从M ...
 - IP的准确性
			
最近游戏项目中更新机制有所修改,游戏启动时会从cdn上读取一个文件(约60B),但是后台异常收集系统中发现很多玩家请求不了该文件(libcurl的get请求),返回的error code有很多种,以6 ...
 - ios之快速领会VFL的demo
			
在网上看到一篇blog,超正!快速领会ios的vfl. 这里贴上blog的地址. http://www.thinkandbuild.it/learn-to-love-auto-layout-prog ...