黑马程序员技术交流社区

标题: 删除一个带内容的目录。删除原理,在windows中,删除目录... [打印本页]

作者: 真实姓名被注册    时间: 2015-8-7 00:46
标题: 删除一个带内容的目录。删除原理,在windows中,删除目录...
  需求:删除一个带内容的目录。删除原理,在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()),防止抛出空指针异常。

作者: 凶狠搞Android    时间: 2015-8-7 01:50
不知道为什么,感谢递归不是听得很懂
作者: ITHM明    时间: 2015-8-7 07:46
自学JAVA基础,还没到递归这里来.楼主进度还挺不错哦~.再接再厉~向楼主学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2