分类

  • 软件天地

  • Java的File对象递归删除目录下所有内容‖
    了不管如何都删除一个指定
    Java的小练习:
    目录,那么delete()方法要求目
    文件夹下的所有内容,于是有了

    录已经是空的,否则不能删除。为
    今天随手的一个小段子,算是初学


      import java.io.*;                                            

      public class DeleteAll {                              
       //删除文件夹下所有内容,包括此文件夹                                      
       public void delAll
    (File f) throws IOException
    {
        if(!f.exists())//文件夹不存在不存在                      
         throw new IOEx
    ception("指定目录不存在:"+f.
    getName());
        boolean rslt=true;//保存中间结果                      
        if(!(rslt=f.delete())){//先尝试直接删除          
         //若文件夹非空。枚举、递归删除里面内容                                
         File subs[] = f.listFiles();                
         for (int i = 0; i <= subs.length - 1; i++) {

          if (subs[i].isDirectory())                  
           delAll(subs[i]);//递归删除子文件夹内容            
          rslt = subs[i].delete();//删除子文件夹本身  
         }                                                                      
         rslt = f.delete();//删除此文件夹本身                
        }                                                                        
        if(!rslt)                                                        
         throw new IOException("无
    法删除:"+f.getName());
        return;                                                            
       }                                                                          
       public static void main(String
    [] args) {
        DeleteAll da= new DeleteAll();              
        try {                                                                
         da.delAll(new File("someDir"));          
        }                                                                        
        catch (IOException ex) {                          
         ex.printStackTrace();                              
        }                                                                        
       }                                                                          
      }                                                                            
                                                                                   


    上一页 下一页




    map