转自:

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. 列出连通集(mooc)

    给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点. 输入格式: 输入第1 ...

  2. A Product Recall 产品召回

    Rick: The Board of Directors has come to a decision. Our company will take an image hit, and it's go ...

  3. 一个简单的rest_framework demo

    models.py from django.db import models class UserInfo(models.Model): username = models.CharField(max ...

  4. Github三次学习

    作者声明:本文参照aicoder.com马伦老师的文档,根据自己的学习情况而做的笔记,仅供交流学习. Git入门到高级教程 为什么要进行项目文件的版本管理 代码备份和恢复 团队开发和协作流程 项目分支 ...

  5. node.js常用方法

    1.获取真实地址 function getClientIp(req) { return req.headers['x-forwarded-for'] || req.connection.remoteA ...

  6. php异步学习(2)

    PHP开启异步多线程执行脚本   场景要求 客户端调用服务器a.php接口,需要执行一个长达5s-20s不等的耗资源操作,但是客户端响应请求时间为5秒(微信公众账号服务器请求响应超时时间),5s以上无 ...

  7. 团队目标WBS及具体任务分工

    • 首先我们讨论了实验第一个冲刺周期要实现的功能,我们的初期目标. •  然后我们进一步梳理了第一阶段的任务和需求. •  之后对任务进行了划分和领取. •  最后每个人对自己的任务进行了估算,并约定 ...

  8. 软工实践-Alpha 冲刺 (7/10)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 已经解决登录注册等基本功能的界面. 完成非功能的主界面制作 ...

  9. CodeForces Round #527 (Div3) B. Teams Forming

    http://codeforces.com/contest/1092/problem/B There are nn students in a university. The number of st ...

  10. ajax跨域问题(三种解决方案)

    为什么会出现跨域 跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其 ...