Windows和Linux 删除文件工具类
import org.springframework.stereotype.Repository;
import java.io.File;
/**
* 清理临时文件夹中的文件服务
*/
@Repository
public class ClearTemporaryFile {
/**
* 临时文件存放目录:Windows、Linux系统中的路径
*/
public static final String WINDOWS_FILE_URL = "D:\\pdf\\temporary\\file";
public static final String LINUX_FILE_URL = "/usr/local/contract/temporary/file";
/**
* 清理 PDF 和 HTML 临时文件
*/
public void autoClearPDFTemporaryFile() {
String fileUrl = isWindowsSystem() ? WINDOWS_FILE_URL : LINUX_FILE_URL;
System.out.println("定时清理PDF临时文件,目录:" + fileUrl);
File file = new File(fileUrl);
deleteFile(file);
}
/**
* 判断当前系统是否是Windows系统
* @return true:Windows系统,false:Linux系统
*/
public static boolean isWindowsSystem(){
String property = System.getProperty("os.name").toLowerCase();
return property.contains("windows");
}
/**
* 删除文件夹中的所有文件
* @param srcFile 文件夹
*/
public void deleteFile(File srcFile) {
//数组指向文件夹中的文件和文件夹
File[] fi = srcFile.listFiles();
//遍历文件和文件夹
if (fi != null && fi.length > 0) {
for (File file : fi) {
//如果是文件夹,递归查找
if (file.isDirectory()) {
deleteFile(file);
} else if (file.isFile()) {
//如果文件名是“html”后缀文件,删除
String filename = file.getName();
if (filename.endsWith("html") || filename.endsWith("pdf")) {
boolean delete = file.delete();
System.out.println("定时清理PDF临时文件,删除文件:" + file.getName() + ",删除结果:" + (delete ? "成功" : "失败"));
}
}
}
} else {
System.out.println("定时清理PDF临时文件,没有可删除的文件!");
}
}
}
欢迎关注公众号:慌途L
后面会慢慢将文章迁移至公众号,也是方便在没有电脑的情况下可以进行翻阅,更新的话会两边同时更新,大家不用担心!