删除文件及目录
-
先获取文件所处的路径
-
然后获取改路径文件目录里所有文件
-
然后循环判断是文件则删除,是目录则递归调用当前方法
-
最后删除空目录
/**
* 删除附件
* @param customerId 企业id
* @param id 要删除附件的信息表主键id
*/
public static void deleteFj(String customerId, String id) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String uploadPath = CommonUtil.getUploadPath(request);
StringBuffer path = new StringBuffer(customerId + "/" + id + "/");
File file = new File(uploadPath + path.toString());
deleteFolder(file);
}
private static void deleteFolder(File file) {
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
if (file.isDirectory()) {
// 是目录,需要进到目录删除目录里的文件
deleteFolder(f);
} else {
// 删除文件
f.delete();
}
}
}
// 删除目录
file.delete();
}