预期:使用File.exists()判断,如果文件存在,就进行删除。Windows10可以成功,但Linux centos不成功。
排查原因:centos下File.exists() 当文件存在时返回 false
详细如下:
Windows执行:System.out.println(file.exists()); true
Linux centos执行时,为false
代码:
//查找,先删除已有安装包
List<File> files_old = searchFiles(new File("./"), ".zip");
for (File file : files_old) {
String fileName=file.getName().toLowerCase();
System.out.println("查找到原有安装包: "+fileName+",先进行删除");
deleteFile(fileName);
}
/**
* 删除文件
*
* @param fileName 文件名
*/
public static void deleteFile(String fileName) {
File file = new File(fileName);
System.out.println(file.exists());
if (file.exists()) {
file.delete();
log.info(fileName + "文件删除成功");
}
}
遇到此问题,File.exists()问题未解决,只能去掉,直接删除文件。
//查找,先删除已有安装包
List<File> files_old = searchFiles(new File("./"), ".zip");
for (File file : files_old) {
String fileName=file.getName().toLowerCase();
System.out.println("查找到原有安装包: "+fileName+",先进行删除");
file.delete();
}