文件重命名失败
File rename fails
为什么文件重命名失败?
我的 OS 是 Windows 7 并且文件系统中存在文件夹 C:/test/dfhsdfhs
。
我的代码:
String path = "C:/test/dfhsdfhs/test2.txt";
boolean hasDeleteFolder = true;
File delFile = new File(path);
if (delFile.exists()) {
if (hasDeleteFolder == true) {
Date dateTimeNow = new Date();
String _dateTimeNowStr = dateTimeNow.toString();
_dateTimeNowStr = _dateTimeNowStr.replace(" ", "_");
File timeStampFile = new File (delFile.getAbsolutePath() + "_" + _dateTimeNowStr + "." + FilenameUtils.getExtension(delFile.getName()));
if (delFile.renameTo(timeStampFile)) {
System.out.println("renamed");
} else {
System.out.println("Error");
}
}
}
失败是因为您的时间戳字符串包含 :
个字符,这在 windows 操作系统中是不允许的。替换它们,它将起作用。
_dateTimeNowStr = _dateTimeNowStr.replace(":", "_");
为什么文件重命名失败?
我的 OS 是 Windows 7 并且文件系统中存在文件夹 C:/test/dfhsdfhs
。
我的代码:
String path = "C:/test/dfhsdfhs/test2.txt";
boolean hasDeleteFolder = true;
File delFile = new File(path);
if (delFile.exists()) {
if (hasDeleteFolder == true) {
Date dateTimeNow = new Date();
String _dateTimeNowStr = dateTimeNow.toString();
_dateTimeNowStr = _dateTimeNowStr.replace(" ", "_");
File timeStampFile = new File (delFile.getAbsolutePath() + "_" + _dateTimeNowStr + "." + FilenameUtils.getExtension(delFile.getName()));
if (delFile.renameTo(timeStampFile)) {
System.out.println("renamed");
} else {
System.out.println("Error");
}
}
}
失败是因为您的时间戳字符串包含 :
个字符,这在 windows 操作系统中是不允许的。替换它们,它将起作用。
_dateTimeNowStr = _dateTimeNowStr.replace(":", "_");