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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© code2014 中级黑马   /  2014-5-21 22:08  /  2891 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么删除带内容的文件夹

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
.......lkklkkk
回复 使用道具 举报
e嗯,楼上正解~ 好像视频里也有这个知识点的吧!
回复 使用道具 举报




/*
* 删除一个带内容的文件夹。
*
* 分析:
*                 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

());
                }
       
回复 使用道具 举报
视频里确实有这个知识点!
回复 使用道具 举报
来学习一下!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马