注:重命名文件在java中File类中有renameTo方法,但是此方法受操作系统影响,失败率太高,所以可以自己实现重命名文件方法
public static boolean fileNameRenameTo(String sourcePath, String targetPath) {
try {
File file = new File(sourcePath);
File targetFile = new File(targetPath);
if (!file.exists()) {
logger.error("原文件不存在");
return false;
}
if (targetFile.exists()) {
logger.info("目标文件已存在");
return true;
}
if (file.isDirectory()) {
// 修改一个新的文件夹返回
org.apache.commons.io.FileUtils.moveDirectory(file, targetFile);
return true;
} else {
// 创建一个新的文件并赋值其内容
org.apache.commons.io.FileUtils.moveFile(file, targetFile);
return true;
}
} catch (IOException e) {
e.printStackTrace();
logger.error("修改文件名称出错", e);
return false;
}
}