为了寻找2B 2018-09-04 07:06 采纳率: 100%
浏览 3031
已采纳

自己的服务器上存放网站上传的一些文件和图片,如何管理比较好??

如题,因为有些文件可能上传了但是并没有使用到,总不能一直占着空间,想到的就是开个线程定时给他清理一波,有没有类似的场景或者解决方案能够交流学习一下~

  • 写回答

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)推荐使用临时文件和临时目录,这样操作系统的文件清理就可以解决这个问题,不需要代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型