d0e1f 发表于 2015-07-10 13:31

文件即子文件删除

先简单说明一些基本:(下面所说的文件夹也就是目录,我个人一开始不知道目录是什么,后来才知道目录就是文件夹)。

   1.首先介绍delete()方法的基本用法。

   先创建一个File对象 ,例如: File file = new File("C:/text");其中text是个文件夹;

      ① 当文件夹text为空时(即里面什么都没有),调用file.delete()方法,则会把该文件删除,返回true。

      ② 当文件夹text里面不是空时(里面有文件夹或者文件),调用file.delete()方法时,则不会把该文件删除,返回为false。

      ③ 所以对于文件夹里面存放有东西的时候不能直接删除。

   2.递归: 简单的理解就是自己调用自己。

   3.封装一个方法用于删除文件夹即其子文件:public static void deleteDir(File file) {
      if (file.exists()) {// 判断传递来的文件是否存在,存在时执行下面代码   
            File[] fileList = file.listFiles();                     
            for (File f : fileList) {
                if (f.isDirectory()) {// 当文件是文件夹时
                  deleteDir(f);   // 这里用到递归
                } else {
                  System.out.println("删除的文件为:" + f.getName());
                  f.delete();
                }
            }
            System.out.println("删除的文件夹为:" + file.getName()); //用于删除最外层的空文件夹
            file.delete();
      } else {
            System.out.println("你所删除的文件不存在");
      }
    }4. 在main函数中调用:1 public static void main(String[] args) {
2         File file = new File("C:/text");
3          deleteDir(file);
4   }
页: [1]
查看完整版本: 文件即子文件删除