递归删除目录

* 需求:递归删除带内容的目录
 *     假设:在当前项目下有demo目录
 * 
 * 分析:
 *     1)首先使用File对象表示demo路径的抽象形式
 *     2)定义一个删除目录的方法delete(File srcFolder)
 *     3)在当前方法中
 *         获取当前demo目录下的所有的文件以及文件夹的File数组
 *         public File[] listFiles()
 *     4)非空判断如果当前File数组对象不为空
 *     5)遍历File数组
 *         获取到每一个File对象
 *         5.1)判断File对象是否是文件夹
 *             回到2)步骤,进行执行删除目录的方法
 *         如果不是问件夹,输出并直接获取文件的名称以及删除文件
 *         5.2)在依次删除目录,删除demo目录,输出目录的名称

public class DiGuiTest3 {
	public static void main(String[] args) {
//		1)首先使用File对象表示demo路径的抽象形式
		 File srcFolder=new File("demo");
//		 2)定义一个删除目录的方法delete(File srcFolder)
		 delete(srcFolder);
	}
//	递归删除的方法
	private static void delete(File srcFolder) {
		// TODO Auto-generated method stub
		File[] fileArray=srcFolder.listFiles();
		//进行非空判断
		if(fileArray!=null) {
			//遍历
			for(File file:fileArray) {
				//获取每一个File对象
//				5.1)判断File对象是否是文件夹
				if(file.isDirectory()) {
//					回到2)步骤,进行执行删除目录的方法
					delete(file);
				}else {
					//是文件,获取文件名称以及删除文件
					System.out.println(file.getName()+" "+file.delete());
				}
			}
			//删除文件夹
			System.out.println(srcFolder.getName()+"--"+srcFolder.delete());
		}
	}
}

 


版权声明:本文为weixin_57219176原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。