黑马程序员技术交流社区

标题: 用File类的delete删除目录,怎么也删不掉????????? [打印本页]

作者: 神之梦    时间: 2013-6-17 13:13
标题: 用File类的delete删除目录,怎么也删不掉?????????
本帖最后由 神之梦 于 2013-6-17 14:24 编辑

今天做了个小练习,想删除一个目录和里面的东西。
不管怎么弄就是删不掉,我把显示隐藏文件也打开了,没有看到有隐藏的文件,也没有读文件设置只读属性。为什么就是删不掉!win7系统。。。。。
求解???
代码:
  1. /*
  2. 删除一个带内容的目录。
  3. 删除原理:
  4. 在windows中,删除目录从里面往外面删除的。
  5. 既然是从里往外删除。就需要用到递归。

  6. */
  7. import java.io.*;
  8. class RemoveDir
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                 File dir=new File("e:\\Test");
  13.                 removeDir(dir);

  14.         }

  15.         //删除传入路径目录
  16.         public static void removeDir(File dir)
  17.         {
  18.                 File[] files=dir.listFiles();
  19.                 for (File file : files )
  20.                 {
  21.                         if(!dir.isHidden()&&dir.isDirectory())
  22.                                 removeDir(file);
  23.                         else
  24.                                 System.out.println(file.toString()+":-file-:"+file.delete());
  25.                 }
  26.                 System.out.println(dir+":::dir:::"+dir.delete());
  27.         }
  28. }
复制代码
文件夹内的东西(以打开了显示隐藏)


结果:


如果我在File("e:\\Test\\Test.java"),不去调用removeDir方法,直接dir.delete()的话,可以删除
也就是单个的可以删除,而我想删除这个目录却不行,是我哪里没有想到,求赐教!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

作者: 金辉    时间: 2013-6-17 14:06
本帖最后由 金辉 于 2013-6-17 14:08 编辑
  1. for (File file : files )
  2.                 {
  3.                         if((!file.isHidden())&&(!file.isDirectory()))
  4.                                 removeDir(file);
  5.                         else
  6.                                 System.out.println(file.toString()+":-file-:"+file.delete());
  7.                 }
复制代码
for里边是对file判断不是dir,好像老毕的视频有讲过这个,出现空指针的
作者: 神之梦    时间: 2013-6-17 14:26
金辉 发表于 2013-6-17 14:06
for里边是对file判断不是dir,好像老毕的视频有讲过这个,出现空指针的

感谢辉辉,之前被我改几次,忘了改判断里面的东西了,
粗心啊!!!:Q
作者: 金辉    时间: 2013-6-17 16:03
神之梦 发表于 2013-6-17 14:26
感谢辉辉,之前被我改几次,忘了改判断里面的东西了,
粗心啊!!!

:lol嘿嘿




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