日期:2014-05-20  浏览次数:20591 次

自学5天彩笔求助,如何递归删除文件夹以及其下子文件夹和文件
RT。老大哥给了这么个题目,删除文件夹包括文件夹下的文件及子文件夹,子文件夹下的文件及文件夹。看了一部分《THINK IN JAVA》和《精通J2EE网络编程》,基础太差,只在学校基础课学过C。毕业后一直做的是电气相关工作,收入凑合但就业太窄,现在面临被逼上门当尼玛女婿的险境,果断转行。学习道路很艰苦,求各位大婶不吝赐教。或者有学习经验或好的学习方法、资料施舍给小弟。!


------解决方案--------------------
这是递归获取文件的,你参考一下吧
Java code

public static List<File> getFiles(String path){
        List<File> files = new ArrayList<File>();
        File file = new File(path);
        getAllFiles(file, files);
        return files;
    }
    
    private static void getAllFiles(File file, List<File> files){
        if(file.isFile()){
            files.add(file);
        }else{
            File[] fs = file.listFiles();
            for(File f : fs){
                getAllFiles(f, files);
            }
        }
    }

------解决方案--------------------
你可以考虑遍历的时候就删,如果是文件则删除,如果是文件夹那么就递归遍历,知道该文件夹里面的文件都删除了再删除文件夹。