删除某个目录:当然
目录下的所有子目录和文件都要求被删除
要点:File.delete()用于删除“某个文件或者空目录”!
jdk文档:
Deletes the file or directory denoted by this abstract pathname.
If this pathname denotes a directory, then the directory must be empty in order to be deleted.
所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下:
package com.pk0729;
import java.io.File;
/**
* 1 删除给定目录
* deleteFiles(String path);
* @author weijian
*
*/
public class Problem1 {
public static void main(String[] args){
String path="D:/demo";
boolean b=deleteFiles(path);
if(b){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
public static boolean deleteFiles(String path){
boolean flag=true;
File file =new File(path);
if(!(file.exists())){
return false;
}
if(file.isDirectory()){
File[] f1=file.listFiles();
for(int i=0;i<f1.length;i++){
if(f1[i].isFile()){
flag=f1[i].delete();
if(!flag){
return false;
}
}
if(f1[i].isDirectory()){
deleteFiles(f1[i].getAbsolutePath());
}
}
flag=file.delete();
}else{
flag=file.delete();
}
return flag;
}
}