`
sdh88hf
  • 浏览: 67787 次
  • 性别: Icon_minigender_1
  • 来自: 绍兴
社区版块
存档分类
最新评论

使用线程删除导出临时文件

 
阅读更多
项目支持大数据量导出excel,我的方案是使用poi生成excle,然后使用struts的下载将其导出,个人感觉这样操作效率是最快的
基本代码:
                this.setDownLoadFilePath(path);
		this.setDownLoadFileName("webOperate.xls");
		return "downLoad";

告诉struts文件所在位置和下载文件的名称,设定return返回类型stream即可以实现下载了,但是现在碰到这样一个问题:生成在服务器上的excel经过一次导出后将没任何用处,而且一个文件都在10M左右,必须把他删除...可想而知 return前是不能做删除的,否则在return以后struts就获取不到文件而输出流了,所以我想到了使用线程来删除,这个是我第一次在实战中用到线程,心里有点激动,所以做个笔记供日后参考;
public class FileDelete implements Runnable {

	//目标文件地址
	private String filePath = "";

	//执行时间
	private Date date;

	//执行后过多少时间删除(单位:分)
	private int flag = 1;

	public FileDelete(String path, Date d) {
		this.filePath = path;
		this.date = d;
	}

	@Override
	public void run() {
		File file = new File(filePath);

		while (true) {
			Date now = new Date();
			if (now.getTime() > (date.getTime() + flag * 60 * 1000)) {
				if (file.exists()) {
					file.delete();
					break;
				}
			}
			
		}
	}

	public String getFilePath() {
		return filePath;
	}

	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	public int getFlag() {
		return flag;
	}

	public void setFlag(int flag) {
		this.flag = flag;
	}

}

我的线程类,大致思路就是拿当前事件与执行时间比较,如果执行时间+设定的时间 小于当前时间的时候将文件删除

所以我现在只要这样就搞定了

 this.setDownLoadFilePath(path);
		this.setDownLoadFileName("webOperate.xls");
//开启线程定时删除文件
Date date = new Date();
		FileDelete fileDelete = new FileDelete(filePath,date);
		Thread t = new Thread(fileDelete);
		t.start();
return "downLoad";

分享到:
评论

相关推荐

    wsyscheck中文版

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    wsyscheck by wangsea

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    wsyscheck--强大的清理病毒木马的工具

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    Wsyscheck0119中文版

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    Wsyscheck.rar

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    Wsyscheck20080122(中文版)

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    Wsyscheck 3

    清除临时文件:删除%TEMP%,%windir%\Temp及%windir%\Downloaded Program Files下的所有文件。 禁用硬盘自动播放:本功能还包括磁盘无法双击打开故障。注意,某些故障修复后可能需要注销或重启才能生效。 修复安全...

    内存盘--Ramdisk

    从而减少硬盘上文件碎片的产生,并且不需要主动删除这些临时文件,一旦重新启动,这些垃圾文件就自动消失了。也正是这个特性,使得内存盘不适合存储重要的数据文档,因为一旦死机,这些东西就再也找不回来了。 安装...

    网友gavotte开发的Ramdisk

    从而减少硬盘上文件碎片的产生,并且不需要主动删除这些临时文件,一旦重新启动,这些垃圾文件就自动消失了。也正是这个特性,使得内存盘不适合存储重要的数据文档,因为一旦死机,这些东西就再也找不回来了。 安装...

    Visual C++编程技巧精选500例.pdf

    216 如何创建一个临时文件? 217 如何创建一个特大型文件? 218 如何创建一个文本文件? 219 如何删除一个文本文件? 220 如何更名一个文本文件? 221 如何对文本文件进行查找与替换? 222 如何从文本文件中读取一个字符串...

    vc++ 应用源码包_1

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 开发实例源码包

    18:单线程下载时不能创建临时文件. 19:下载流文件(rm,Media Player). Notepad++ V5.6.8 源码! 如题。 OA精灵代码 c++版 一套oa系统。 ocxdlgtest dll的一个实例。 OD反汇编引擎(带VC修改版和原版) 如题。主要...

    vc++ 应用源码包_6

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_2

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_5

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_3

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    MSSQL Server 管理器 V3.0 免注册

    4. 加入查询结果二进制内容导批量导出成文件 5. 查询显示中可显示对应的字段类型及长度等信息 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部...

    MSSQL Server 管理器 V2.0.0.0

    4. 加入查询结果二进制内容导批量导出成文件 5. 查询显示中可显示对应的字段类型及长度等信息 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部...

Global site tag (gtag.js) - Google Analytics