import org.springframework.util.ResourceUtils;
import java.io.File;
import java.io.FileNotFoundException;
public class FolderDeleteUtils {
public static final String UPLOAD_PATH = getUploadPath();
public static void folderDelete(String url) {
String s = UPLOAD_PATH + url;
// int i = s.lastIndexOf("\\"); window
int i = s.lastIndexOf("/");
s = s.substring(0, i);
File path = new File(s);
delFolder(path.getAbsolutePath());
}
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
public static boolean delAllFile(String path) {
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;
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;
}
//获取当前文件路径
private static String getUploadPath() {
try {
String serverPath = ResourceUtils.getURL("classpath:").getPath();
String uploadPath = new File(serverPath).getParentFile().getParentFile().getParent() + File.separator + "upload" + File.separator;
uploadPath = uploadPath.startsWith("file:") ? uploadPath.replace("file:", "") : uploadPath;
return uploadPath;
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return null;
}
}
java 删除文件和文件夹工具类
于 2022-03-17 14:27:43 首次发布