首页 > 代码库 > java删除文件夹下面的所有文件(转)

java删除文件夹下面的所有文件(转)

原文地址:http://blog.csdn.net/smach1991710/article/details/9175757

删除一个文件夹下面的所有文件,一种调用递归算法,一种调用windows命令,下面是程序代码

import java.io.File;

public class FileDemo {
    /**
     * 通过调用系统命令删除一个文件夹及下面的所有文件
     * @param file
     */
    public static void deleteFileByWinCom(File file){
        Runtime rt = Runtime.getRuntime();
        String cmd = null;
        try{
            if(file.isFile()){
                cmd = "cmd.exe /c del /q/a/f/s "+file.getAbsolutePath();
            }else{
                cmd = "cmd.exe /c rd /s/q "+file.getAbsolutePath();
            }
            rt.exec(cmd);
            System.out.println("成功执行了命令...");
        }catch(Exception e){
            System.out.println("调用系统命令失败了...");
        }
    }
    
    /**
     * 通过递归调用删除一个文件夹及下面的所有文件
     * @param file
     */
    public static void deleteFile(File file){
        if(file.isFile()){//表示该文件不是文件夹
            file.delete();
        }else{
            //首先得到当前的路径
            String[] childFilePaths = file.list();
            for(String childFilePath : childFilePaths){
                File childFile=new File(file.getAbsolutePath()+"\\"+childFilePath);
                deleteFile(childFile);
            }
            file.delete();
        }
    }
    
    public static void main(String[] args){
        File file=new File("D:\\demo");
        //deleteFileByWinCom(file);
        deleteFile(file);
    }
}

 

java删除文件夹下面的所有文件(转)