黑马程序员技术交流社区
标题:
为什么文件夹删不了啊?
[打印本页]
作者:
湛添友
时间:
2014-4-20 22:26
标题:
为什么文件夹删不了啊?
//为什么文件夹删不了啊?
package iofile;
import java.io.File;
import java.io.IOException;
/*
* 删除一个带内容的文件目录
*
* 既然是从里往外删除 就需要用到递给
*/
public class DeleteFile
{
public static void main(String args[]) throws IOException
{
File f=new File("D:\\abc");
remove(f);
}
//删除文件夹级里面的内容
public static void remove(File dir)
{
if(dir.exists());//判断文件是否存在
File arr[]=dir.listFiles();
for(int x=0;x<arr.length;x++)
{
if(!arr[x].isHidden()&&arr[x].isDirectory())//文件不是隐藏文件并且是个文件夹
remove(arr[x]);
else
System.out.println(arr[x].delete());
}
System.out.println(dir+"+"+dir.delete());//删除文件夹
}
}
作者:
爱翚
时间:
2014-4-20 22:34
我跑了一下这段代码,可以删除啊.
作者:
霍振鹏
时间:
2014-4-20 22:34
能删了 啊 ,,我试了,你再试试!
作者:
ノtrack
时间:
2014-4-20 22:35
/*
删除一个带内容的目录
删除原理:
在window中,删除目录从里面往外删除,既然是从里往外删除,就要用到
递归
*/
import java.io.*;
class Demo4
{
public static void main(String[] args)
{ //目录不存在会报空指针异常
File file=new File("c:/test2");
deleteDir(file);
}
/*递归 删除指定目录*/
public static void deleteDir(File file){
File []files=file.listFiles();
for (File f: files )
{
//如果是目录 就进里面删
if(f.isDirectory())
deleteDir(f);
else
sop(f.delete());
}
file.delete();
}
public static void sop(Object o){
System.out.println(o);
}
}
复制代码
作者:
孙旌棋
时间:
2014-4-20 22:55
本帖最后由 孙旌棋 于 2014-4-21 07:10 编辑
同学, 你的代码已经修改并测试成功, 你看好我的第二十三行代码你是怎么写的, 你if()后面是 ; 程序到这里意味着什么? 相当于这句话执行完毕了就, if()判断根本就没有执行, 第二个if() 确实是可以省略大括号的, 但是前提是执行的语句只能是一句的哦
//为什么文件夹删不了啊?
package iofile;
import java.io.File;
import java.io.IOException;
/*
* 删除一个带内容的文件目录
*
* 既然是从里往外删除 就需要用到递给
*/
public class DeleteFile {
public static void main(String args[]) throws IOException {
File f = new File("D:\\abc");
remove(f);
}
// 删除文件夹级里面的内容
public static void remove(File dir) {
if (dir.exists()) {
// 判断文件是否存在
File arr[] = dir.listFiles();
for (int x = 0; x < arr.length; x++) {
if (!arr[x].isHidden() && arr[x].isDirectory())// 文件不是隐藏文件并且是个文件夹
remove(arr[x]);
else
System.out.println(arr[x].delete());
}
System.out.println(dir + "+" + dir.delete());// 删除文件夹
}
}
}
复制代码
作者:
湛添友
时间:
2014-4-20 23:01
爱翚 发表于 2014-4-20 22:34
我跑了一下这段代码,可以删除啊.
你的什么系统?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2