如题,因为有些文件可能上传了但是并没有使用到,总不能一直占着空间,想到的就是开个线程定时给他清理一波,有没有类似的场景或者解决方案能够交流学习一下~
3条回答 默认 最新
- threenewbee 2018-09-04 16:26关注
(1)不建议在你的web项目中开线程去清理,而是应该单独一个进程,这样可以更稳定可靠。
并且可以在夜间或者低峰的时候清理,因为IO操作会拖累服务器的响应性能。
(2)可以判断文件的最后访问时间。并且删除,给你一段代码参考public void traverseFolder2(String path) { File file = new File(path); if (file.exists()) { File[] files = file.listFiles(); if (files.length == 0) { System.out.println("文件夹是空的!"); return; } else { for (File file2 : files) { if (file2.isDirectory()) { traverseFolder2(file2.getAbsolutePath()); } else { long time = file2.lastModified(); //得到最后访问时间 long currtime = System.currentTimeMillis(); if (currtime - time > 30 * 24 * 3600 * 1000) //超过1年 file.delete(); } } } } }
(3)推荐使用临时文件和临时目录,这样操作系统的文件清理就可以解决这个问题,不需要代码。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码