日期:2014-05-18  浏览次数:20859 次

在java web 工程中 怎么把文件在一段时间后自动删除?
现有功能要求上传的文件在24小时后自动删除   (java   b/s工程   )
知道怎么实现的帮指点下     肯定加分


------解决方案--------------------
文件上传时,要记录文件名和上传时间,存在一个表里.做个定时器,每30分钟读表判断一次,上传时间超过24小时的文件就删除.
------解决方案--------------------
import java.util.Timer;
import java.util.TimerTask;

Timer timer = new Timer();
public void reTimer() {
timer.schedule(new TimerTask() {
public void run() {
..................
}
}, 0, 1000);
}
------解决方案--------------------
凑个热闹
启动时加载所有的文件上传时间,有新的文件直接add进去
这样每次遍历文件时不需要去读数据。
不过不知道10万数量级的Collection会不会内存溢出。呵呵。
------解决方案--------------------
一个线程啊,至于里面的监听循环怎么写就随你了

你上穿的时候得到毫秒数,文件名取成 毫秒数.扩展名的方法

然后写一个触发器,超过24小时得就删除文件

------解决方案--------------------
楼上说的几种方案了,可以试试ContextListener,里面启个线程,之后你按你喜好了