黑马程序员技术交流社区

标题: 怎么删除带内容的文件夹 [打印本页]

作者: code2014    时间: 2014-5-21 22:08
标题: 怎么删除带内容的文件夹
怎么删除带内容的文件夹

作者: Sevenette    时间: 2014-5-21 22:47
本帖最后由 Sevenette 于 2014-5-21 22:50 编辑

在window中,删除目录从里面住外删除的,需要用到递归。
删除的文件不会出现在回收站里。
  1. import java.io.*;

  2. class removeDir {
  3.         public static void main(String[] args) {
  4.                 File dir = new File("d:\\testDir");
  5.                 remove(dir);
  6.         }

  7.         public static void remove(File dir) {
  8.                 File[] files = dir.listFiles();
  9.                 for (int x = 0; x < files.length; x++) {
  10.                         if (!files[x].isHidden() && files[x].isDirectory())
  11.                                 remove(files[x]);
  12.                         else
  13.                                 System.out.println(files[x].toString() + "-file-"
  14.                                                 + files[x].delete());// 删除的时候打印一下,以便看到是否重删等

  15.                 }
  16.                 System.out.println(dir.toString() + "-dir-" + dir.delete());
  17.         }
  18. }
复制代码

作者: zhrnghgwsws    时间: 2014-5-22 00:03
.......lkklkkk
作者: 波涛    时间: 2014-5-22 00:20
e嗯,楼上正解~ 好像视频里也有这个知识点的吧!
作者: 帽子    时间: 2014-5-22 05:33




/*
* 删除一个带内容的文件夹。
*
* 分析:
*                 A:封装目录
*                 B:获取该目录下所有文件或者文件夹File数组。
*                 C:遍历File数组,获取每一个File对象。
*                 D:判断该File:
*                         文件夹:回到B。
*                         文件:就删除。
*/
public class DeleteFileDemo {
        public static void main(String[] args) {
                // 封装目录
                File srcFile = new File("test");

                // 递归删除
                deleteFiles(srcFile);
        }

        private static void deleteFiles(File srcFile) {
                // 获取该目录下所有文件或者文件夹File数组。
                File[] fileArray = srcFile.listFiles(); // 可能返回null

                // 加入不为null的判断,就可以删除你想删除的任意目录
                if (fileArray != null) {
                        // 遍历File数组,获取每一个File对象。
                        for (File file : fileArray) {
                                // 判断该File:
                                if (file.isDirectory()) {
                                        deleteFiles(file);
                                } else {
                                        System.out.println(file.getName() + "---" +

file.delete());
                                }
                        }

                        // 删除文件夹
                        System.out.println(srcFile.getName() + "---" + srcFile.delete

());
                }
       
作者: 思维    时间: 2014-7-22 10:51
视频里确实有这个知识点!
作者: 钟翠翠    时间: 2014-7-23 17:19
来学习一下!




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