网上找了一段代码,当能查到数据的时候,其他的不包含数据的文件夹可以删除,但是假如查不到数据的时候,会把我最外层不需要删掉的文件夹一起删掉,下次再导入数据的时候就找不到路径...
网上找了一段代码,当能查到数据的时候,其他的不包含数据的文件夹可以删除,但是假如查不到数据的时候,会把我最外层不需要删掉的文件夹一起删掉,下次再导入数据的时候就找不到路径(文件夹不存在)
/**
* 删除文件夹
* @param folderPath folderPath 文件夹完整绝对路径
*/
private void delFolder(String folderPath) throws Exception {
//删除完里面所有内容
delAllFile(folderPath);
String filePath = folderPath;
filePath = filePath.toString();
File myFilePath = new File(filePath);
//删除空文件夹
myFilePath.delete();
}
/**
* 删除指定文件夹下所有文件
* @param path 文件夹完整绝对路径
*/
public boolean delAllFile(String path) throws Exception {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
if(tempList.length == 0){
file.delete();
}else{
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
//先删除文件夹里面的文件
delAllFile(path + "/" + tempList[i]);
//再删除空文件夹
delFolder(path + "/" + tempList[i]);
flag = true;
}
}
}
return flag;
}
展开