我用File的delete()方法批量删除文件的时候怎么老是出现失败,一般是300删除后还有100个左右,再调用删除的时候还剩下50个,请问高手们有什么解决方法没 ,或者有其他类的删除方法

解决方案 »

  1.   

    楼主怎么问两次,呵呵, public static void do3(String filename){
    File f=new File(filename);
    if(f.exists()){
    do{
    do3(filename);
    }
    while(!f.delete());
    }
    }
      

  2.   


    public static void do3(String filename){
    File f=new File(filename);
    if(f.exists()){
    do{
    f=null;
    do3(filename);
    }
    while(!f.delete());
    }
    }
      

  3.   

    3、4楼的方法都是一个死循环,不可能删除文件
    不能乱用do while的
      

  4.   


    public boolean delAllFile(String path) { File file = new File(path);
    if (!file.exists()) {
    return false;
    }
    if (!file.isDirectory()) {
    return false;
    }

    String[] tempList = file.list();
    File temp = null;

    for (String name : tempList) {
    if (path.endsWith(File.separator)) {
    temp = new File(path + name);
    } else {
    temp = new File(path + File.separator + name);
    }

    if (temp.isDirectory()) {
    delAllFile(path + "/" + name);//先删除文件夹里面的文件
    }
    temp.delete();
    }

    return true;
    }
      

  5.   

    实在不行用 Runtime.getRuntime().exec(String command) 执行 del 命令试试,效率会高些。
      

  6.   

    public static void do3(String filename){
            File f=new File(filename);
            if(f.exists()){
                do{
                    do3(filename);
                }
                while(!f.delete());
            }
        }
      

  7.   


    操作扔一单独线程里,超时了还没删完就将线程 kill 了。死不了地。
      

  8.   


    很容易成死循环-------------------------------------------------------------
                Quietly through  .....