【发布时间】:2014-07-07 09:36:41
【问题描述】:
我有一个名为“madhura”的目录,我正在尝试删除它。目录“madhura”包含另一个目录“anyname”和一个文本文件。“anyname”还包含一个目录。代码没有给出错误我已经写了,但是什么都没有删除。
请帮我解决这个问题
代码:
package testjava;
import java.io.File;
import java.io.IOException;
public class DeleteDirectory {
public static void main(String args[])
{
File f = new File("C:\\madhura");
try {
deleteDirectory(f.list());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void deleteDirectory(String[] path) throws Exception
{
System.out.println("Inside delteDirectory");
int i=0;
int count = path.length;
System.out.println(path.length);
while(i<count)
{
File f = new File(path[i]);
System.out.println("file "+f+" isdiretory "+f.isDirectory());
if(f.isDirectory())
{
System.out.println("Inside f.isdirectory");
deleteDirectory(f.list());
f.delete();
}
else{
System.out.println("deleting "+f);
System.out.println(f.delete());
}
i++;
}
}
}
输出:
Inside delteDirectory
2
file anyname isdiretory false
deleting anyname
false
file New Text Document.txt isdiretory false
deleting New Text Document.txt
false
【问题讨论】:
-
你可以使用 File.list() 方法列出目录中的所有文件名,然后 file.delete 删除相同的。