java - 文件重命名失败

标签 java file rename file-rename

为什么文件重命名失败?

我的操作系统是 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(":", "_");

关于java - 文件重命名失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38739768/

相关文章:

java - 如何使用Java在多线程中复制文件

c++ - 从文件读取时如何从行中单独读取每个数字

java - 在java中解析XML的访问权限

java - DataNucleus/NeoDatis 是否支持获取组?

java - 如何仅用新文本替换 SWT 中选定的文本

java - 如何使用集合从 arrayList 中调用第二大数字

Git 将所有 javascript 重命名为 typescript

r - 在 R 中,如何向列名添加一串文本?

linux - 批量重命名长文件名

java - Mockito spy 方法不起作用