A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  需求:删除一个带内容的目录。删除原理,在windows中,删除目录从里面往外删除的,既然是从里往外删除,就需要用到递归。         代码如下:
import java.io.*;
class mydelete{
static void mydelete(File file){
  File[] files=file.listFiles();
  for(File f:files){
   if(f.isDirectory())
       mydelete(f);
   else
       f.delete();
  }
  file.delete();
  
}
public static void main(String[] args){
  mydelete(new File("F:\\第二阶段:Java基础\\Java高级视频_IO输入与输出(备份)"));
}
}

    java删除的文件不保存在回收站里。有些系统隐藏文件Java不能访问,删除时会返回空文件数组,接下来在高级for循环里会抛出空指针异常,所以遍历时应避开隐藏文件,可加判断语句if(!file.isHidden()),防止抛出空指针异常。

2 个回复

正序浏览
自学JAVA基础,还没到递归这里来.楼主进度还挺不错哦~.再接再厉~向楼主学习!
回复 使用道具 举报
不知道为什么,感谢递归不是听得很懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马