public static void main(String[] args)
{
String root="h:\\";
File file=new File(root);
String[] fileNames=file.list(); for(int i=0;i<fileNames.length;i++)
{
//simpleFile("h:\\abs\\");
//System.out.println(root+fileNames[i]);
deletesimpleFile(root+fileNames[i]);
}
}
我写了一个删除一个文件方法,在盘符中找到很多文件,反复调用,为什么只能删除一个
{
String root="h:\\";
File file=new File(root);
String[] fileNames=file.list(); for(int i=0;i<fileNames.length;i++)
{
//simpleFile("h:\\abs\\");
//System.out.println(root+fileNames[i]);
deletesimpleFile(root+fileNames[i]);
}
}
我写了一个删除一个文件方法,在盘符中找到很多文件,反复调用,为什么只能删除一个
原来的文件已经不存在了啊!重新赋值试试!
import java.io.*;public class DeleteFile {
public static void main(String[] args) {
delete(new File("d:\\test"));
}
public static void delete(File f) {//\递归删除文件或目录
if(f.isDirectory()) {
//删除目录中的内容
File[] files = f.listFiles();
for(int i=0; i<files.length; i++) {
delete(files[i]);
}
//删除目录本身
f.delete();
} else {
f.delete();
}
}
}上面的代码或许能够满足楼主的需求,lz可以看看!
deleteFile("C:\\test");
}
public static void deleteFile(String path){
File f = new File(path);
if (f.isFile())
f.delete();
else {
if (!path.endsWith("\\"))
path = path+"\\";
for(String subFile:f.list()){
System.out.println(path+subFile);
deleteFile(path+subFile);
}
f.delete();
}
}