java删除文件夹

利用操作系统删除:

1.import java.io.File;  
2.  
3./** 
4. * 类说明:    
5. * @author        E-mail:    
6. * @version 1.0   2010-5-4 下午02:39:25 
7. */  
8.public class Test {  
9.    public static void main(String[] args) throws Exception{  
10.        Runtime r = Runtime.getRuntime();  
11.        String command = "";  
12.        String fileName = "F:\\test";  
13.        if("/".equals(File.separator)){//Linux  
14.            command = "rm -rf " + fileName;  
15.        }else if("\\".equals(File.separator)){//xp  
16.            command = "cmd /c rd /q /s " + fileName;  
17.        }  
18.        r.exec(command);  
19.    }  
20.}  

 

利用java递归删除

1./** 
2.     * 删除此路径名表示的文件或目录。 
3.     * 如果此路径名表示一个目录,则会先删除目录下的内容再将目录删除,所以该操作不是原子性的。 
4.     * 如果目录中还有目录,则会引发递归动作。 
5.     * @param filePath 
6.     *            要删除文件或目录的路径。 
7.     * @return 当且仅当成功删除文件或目录时,返回 true;否则返回 false。 
8.     */  
9.    public static boolean deleteFile(String filePath) {  
10.        File file = new File(filePath);  
11.        return deleteFile(file);  
12.    }  
13.      
14.    private static boolean deleteFile(File file){  
15.        File[] files = file.listFiles();  
16.        for(File deleteFile : files){  
17.            if(deleteFile.isDirectory()){  
18.                //如果是文件夹,则递归删除下面的文件后再删除该文件夹  
19.                if(!deleteFile(deleteFile)){  
20.                    //如果失败则返回  
21.                    return false;  
22.                }  
23.            } else {  
24.                if(!deleteFile.delete()){  
25.                    //如果失败则返回  
26.                    return false;  
27.                }  
28.            }  
29.        }  
30.        return file.delete();  
31.    }  

=======================================

1.public static boolean delete(File dir)  
2.{  
3.    if (dir.isDirectory())  
4.    {  
5.        File[] listFiles = dir.listFiles();  
6.        for (int i = 0; i < listFiles.length && delete(listFiles[i]); i++)  
7.        {  
8.        }  
9.    }  
10.    return dir.delete();  
11.}  


=====================================

1.public class Main   
2.{  
3.      
4.        public static void main(String[] args)  
5.        {  
6.            Main m = new Main();  
7.            m.deleteFile(new File("e:\\test\\"));  
8.        }  
9.          
10.        public void deleteFile(File file)  
11.        {  
12.                File[] temp = file.listFiles();  
13.                for(int i=0;i<temp.length;i++)  
14.                {  
15.                    System.out.println(temp[i].getName());  
16.                    if(temp[i].isDirectory())  
17.                    {  
18.                        if(temp[i].listFiles().length!=0)  
19.                            this.deleteFile(temp[i]);  
20.                        this.deleteDir(temp[i]);  
21.                    }else  
22.                    {  
23.                        temp[i].delete();  
24.                    }  
25.                }  
26.        }  
27.      
28.        private void deleteDir(File file)  
29.        {  
30.            if(file.listFiles().length==0)  
31.                file.getAbsoluteFile().delete();  
32.        }  
33.}  


=======================================================

1.public static boolean delete(File dir)  
2.{  
3.    if (dir.isDirectory())  
4.    {  
5.        File[] listFiles = dir.listFiles();  
6.        for (int i = 0; i < listFiles.length && delete(listFiles[i]); i++)  
7.        {  
8.        }  
9.    }  
10.    return dir.delete();  
11.}  


========================================================

private void deleteFile(File file){ 
   if(file.exists()){ 
    if(file.isFile()){ 
     file.delete(); 
    }else if(file.isDirectory()){ 
     File files[] = file.listFiles(); 
     for(int i=0;i<files.length;i++){ 
      this.deleteFile(files[i]); 
     } 
    } 
    file.delete(); 
   }else{ 
    System.out.println("所删除的文件不存在!"+'\n'); 
   } 
} 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值