代码如下,使用递归进行删除
import java.io.Filepublic class Main {
public static void main(String[] args) {
//待删除文件夹所在目录,例如要删除桌面上所有空文件夹,则该变量应该为桌面路径全部删除
String deletePath = "G:/test/"
delete(new File(deletePath))
}
public static void delete(File file) {
if (file.isDirectory()) {
File[] childs = file.listFiles()
if (childs.length == 0) {
File parent = file.getParentFile()
file.delete()
if (parent.listFiles().length == 0) {
parent.delete()
}
} else {
for (File child : childs) {
delete(child)
}
}
}
}
}
import java.io.Filepublic class Test {
/**
* @param args
*/
public static void main(String[] args) {
String filePath = "E:\\test\\test"
File file = new File(filePath)
//调用静态方法删除目录或文件
Test.removeDir(file)
}
public static void removeDir(File file){
if(!file.exists()){//目录不存在
return
}else{
if(file.isFile()){//地址指向一个文件时,就删除这个文件
file.delete()
}else{//当地址指向一个文件夹或目录
File[] fileArray = file.listFiles()
for (int i = 0 i < fileArray.length i++) {
//递归删除目录下的文件
removeDir(fileArray[i])
}
//删除目录
file.delete()
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)