工具类场景:
删除文件及其文件夹工具类
代码详情:
@Slf4j
@Component
public class FileUtilsDelete {
public static boolean delete(String fileName) {
File file =new File(fileName);
if (!file.exists()) {
log.error("删除文件失败:" + fileName +"不存在!");
return false;
}else {
if (file.isFile())
return deleteFile(fileName);
else
return deleteDirectory(fileName);
}
}
public static boolean deleteFile(String fileName) {
File file =new File(fileName);
if (file.exists() && file.isFile()) {
if (file.delete()) {
log.info("删除单个文件" + fileName +"成功!");
return true;
}else {
log.error("删除单个文件" + fileName +"失败!");
return false;
}
}else {
log.error("删除单个文件失败:" + fileName +"不存在!");
return false;
}
}
public static boolean deleteDirectory(String dir) {
if (!dir.endsWith(File.separator))
dir = dir + File.separator;
File dirFile =new File(dir);
if ((!dirFile.exists()) || (!dirFile.isDirectory())) {
System.out.println("删除目录失败:" + dir +"不存在!");
return false;
}
boolean flag =true;
File[] files = dirFile.listFiles();
for (int i =0; i < files.length; i++) {
if (files[i].isFile()) {
flag = deleteFile(files[i].getAbsolutePath());
if (!flag)
break;
}
else if (files[i].isDirectory()) {
flag = deleteDirectory(files[i].getAbsolutePath());
if (!flag)
break;
}
}
if (!flag) {
System.out.println("删除目录失败!");
return false;
}
if (dirFile.delete()) {
System.out.println("删除目录" + dir +"成功!");
return true;
}else {
return false;
}
}
public static void main(String[] args) {
String dir ="D:/file/1001";
delete(dir);
}
}