java根据文件路径删除数据
首先创建一个工具类,该工具类是根据文件路径删除文件和文件夹下的内容
package com.ph.rfwg.util;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.UUID;
public class FileUtil {
private FileUtil() { }
//需要注意的是当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。
public static boolean deleteFolder(File folder) throws Exception {
boolean flag = false;
if (!folder.exists()) {
throw new Exception("文件不存在");
}
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
//递归直到目录下没有文件
deleteFolder(file);
System.err.println("删除目录下所有文件");
flag=true;
} else {
//删除
file.delete();
System.err.println("删除文件夹里面的文件");
flag=true;
}
}
}
//删除
folder.delete();
System.err.println("删除文件夹");
return flag;
}
}
测试
@SpringBootTest
public class FileTest {
@Test
void deleteFile() throws Exception {
String path="E:\\Tomcat 9.0\\webapps\\rfwg_files\\rf-check-upload-pictures\\1102afc6eace4fd1af3201cb1f376112\\";
System.out.println(path+"====path");
File file=new File(path);
FileUtil.deleteFolder(file);
}
}
路径写到哪里就删到哪,比如我写到的是76112,那么删除的是76112文件夹及该文件夹下的所有文件,如果要指定删除,可以把路径写完整