• java删除文件,慎重


    在处理删除图片的时候,我将图片路径从数据库取出,然后执行如下删除代码:

    void deleteFile(File file){
    		if(file!=null && file.exists()){
    			if(file.isFile()){
    				file.delete();
    			}
    			else if(file.isDirectory()){
    				File files[] = file.listFiles();
    				for(int i=0; i<files.length; i++){
    					deleteFile(files[i]);
    				}
    			}
    		}
    }
    

     一直运行无误,突然有一次发现所有的图片都不见了,都是404,登陆xshell查看服务器:果然全没了。吓一跳,还好是测试服务器。

    原因:

      发现有张图片地址为空,传到删除方法的时候就只剩下域名,也就是执行删除域名解析到的文件。这下递归结束后所有的文件全没了,只剩下空文件夹了。

    以后考虑问题细致一些,既然是删除图片就不要多此一举判断目录了,判断是文件删除即可。

  • 相关阅读:
    设计模式
    工厂方法模式
    简单工厂模式
    tornado自定义Form组件
    tornado
    Tornado框架的知识系列
    Linux基本命令
    day2
    day1
    使用cp复制文件夹却不能打开
  • 原文地址:https://www.cnblogs.com/woshimrf/p/4581588.html
Copyright © 2020-2023  润新知