1.当服务器上保存的历史文件比较多时就需要用到删除文件的功能,所以写个简单的小例子
2.文件的地址
3.Controller层代码实现
/**
* 删除Excel下载消息
* 执行两步
* 第一,删除服务器中生成的文件
* 第二,删除数据库中记录的内容
*
*/
@RequestMapping("/delete")
@ResponseBody
public Object delete(@RequestParam("basicExportHistoryId")String basicExportHistoryId){
/*
* 一定要注意删除顺序 一定要先删除服务器的文件 因为文件名是从数据库中查询的所以必须要先删除文件 再删除数据库中的记录
*/
//首先删除服务器中的文件
//查询指定的文件名
String exportFilePath = "F:\\download";
String fileName = basicExportHistoryService.queryDeleteFileName(basicExportHistoryId);
//执行删除
POIExcelUtils.deleteTableList(exportFilePath,fileName);
//其次删除数据库中的记录
basicExportHistoryService.deleteExportData(basicExportHistoryId);
return SUCCESS_TIP;
}
4.工具类
public class POIExcelUtils{
/**
* 删除指定的文件 一方面减少服务器压力,另一方方面文件过多不易管理
* 定期删除文件 (日后)
*/
public static void deleteTableList(String exportFilePath,String fileName){
//路径
String path = exportFilePath + "\\" + fileName;
//创建File对象
File file = new File(path);
//判断文件是否存在且是否为文件
if(file.exists() && file.isFile()){
//同时满足调用删除方法
file.delete();
}
}
}