zoukankan      html  css  js  c++  java
  • IO流-递归删除带内容的目录

    /*
     * 需求:递归删除带内容的目录
     * 
     * 目录:demo
     * ----------------------------------------------------------------------------------         
     *   具体的demo目录如下:
     *            demoaaaaa1.txt
     *            demoaaaaa2.txt
     *            demobbb1.txt
     *            demobbb2.txt
     *   具体的删除结果如下:(删除顺序:先删某文件夹下的文件,再删该文件)  
     *            a1.txt
     *            a2.txt
     *            aaaa
     *       
     *            b1.txt
     *            b2.txt
     *            bbbb
     *       
     *           demo
     *
     * -----------------------------------------------------------------------------------
     * 分析:
     * 		A:封装目录
     * 		B:获取该目录下的所有文件或者文件夹的File数组
     * 		C:遍历该File数组,得到每一个File对象
     * 		D:判断该File对象是否是文件夹
     * 			是:回到B
     * 			否:就删除
     */
       public class FileDeleteDemo {
    	public static void main(String[] args) {
    		// 封装目录
    		File srcFolder = new File("demo");
    		// 递归实现
    		deleteFolder(srcFolder);
    	}
            
    	private static void deleteFolder(File srcFolder) {
    		// 获取该目录下的所有文件或者文件夹的File数组
    		File[] fileArray = srcFolder.listFiles();
    		 if (fileArray != null) {
    			// 遍历该File数组,得到每一个File对象
    			for (File file : fileArray) {
    				// 判断该File对象是否是文件夹
    				if (file.isDirectory()) {
                                     //回到B,继续执行(递归)
    				   deleteFolder(file);
    				} else {
                                     //打印删除了的文件
    				     System.out.println(file.getName() + "---" +file.delete());
    			        }
    			}
                   //打印删除的文件夹(先删除该文件夹下的文件,再删除文件夹)
    		System.out.println(srcFolder.getName() + "---" + srcFolder.delete());
    	       }
    	}
    }
    

      

  • 相关阅读:
    .NET重构(七):VS报表的制作
    【Linq】标准查询操作符
    1 TaskQueue 实现Task 队列
    1 疑惑处理
    1 JSONP
    1 Web 知识基础
    20 闭包
    1 基础知识
    Web 常用
    【Winform】2 Button
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/7367872.html
Copyright © 2011-2022 走看看