您的位置:首页 > 编程语言 > Java开发

java调用删除的方法删除文件,方法是对的,但是却删除不了

2016-12-12 15:48 253 查看
原因是jvm占用着文件  (你自己可以手动删除一下,如果删除不了,就是被占用了)

解决方案:在执行该方案前把垃圾回收一下,System.gc();

eg1;

    File file =new File(new SystemParameterBeans().getSystemParameterValue("SBWJCFLJ")+"/gyscptp/"+equipementId+"/thumb/"+cptp);

                        System.gc();

                        file.delete();

eg2:(这种写法实在jsp中的调用java方法的写法)

该方法可以删除制定目录或者文件(及其子目录),运用了递归的方法

<%! public static  void deleteAll(File path) {

          System.gc();

    if (!path.exists())   //路径存在

    return;

    if (path.isFile()) {  //是文件

    path.delete();

    return;

    }

    File[] files = path.listFiles();//如果里面有目录会继续遍历该目录的

    for (int i = 0; i < files.length; i++) {

    deleteAll(files[i]);

    }

    path.delete();

    }

    %>

为什么一定要用递归:该业务的特殊性,需要重新遍历该方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: