黑马程序员技术交流社区
标题:
黑马程序员递归方法的特点及删除目录文件作业
[打印本页]
作者:
ulddfhv
时间:
2015-4-17 22:13
标题:
黑马程序员递归方法的特点及删除目录文件作业
问题:什么是递归?
在方法中自己调用了自己。
问题:递归使用的注意事项?
1. 递归一定要有结束条件
2. 递归次数不能过多,容易引起内存溢出。
package cn.itcast.test;
import java.io.File;
public class Test3 {
/**
* @param args
* 递归删除带内容的目录案例 delete()方法,它如果删除目录,目录下有子,删除不了。
* 分析:得到目录下的所有的子,如果子是文件
* ,直接删除就可以,如果子不是文件,是目录,那么递归调用,删除目录下的子,最后要将目录也删除。
*/
public static void main(String[] args) {
//声明一个目录
File file=new File("F:\\day20-IO输入输出");
deleteAll(file);
}
public static void deleteAll(File file)
{
//如果目录为空或者目录下为文件 直接调用delete方法删除
if(file.list().length==0||file.isFile())
{
file.delete();
}
else //如果目录不为空,为子目录或者文件
{
// 非空目录不能直接删除 获取待删除目录下的所有File对象
File[] files=file.listFiles();
//遍历目录中的所有文件
for(File f:files)
{
deleteAll(f); //自己调用自己的方法递归删除里面的所有文件及目录
file.delete(); //删除本目录
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2