文件名,目录名或卷标语法不正确

时间:2014-06-09 08:23:18

标签: java

我得到以下异常:

  

D:\ Try \ folder \ filename_1_06_09_2014_12:46:18.txt(文件名,   目录名称或卷标语法不正确)

在此处使用时间戳重命名文件名:

for (int i = 0; i < children.length; i++) { 
    String fileName = new SimpleDateFormat("MM_dd_yyyy_hh:mm:ss").format(new Date());
    copyDirectory(new File(sourceLocation, children[i]), new File(targetLocation, files+"_"+fileName+".txt"));
}

我无法弄清楚我在Windows文件名中使用无效字符的位置。有什么建议吗?

4 个答案:

答案 0 :(得分:19)

您不能使用冒号:在Windows中创建文件。如果您绝对需要时间戳,那么您也可以尝试为它们添加下划线。

答案 1 :(得分:8)

您不能在Windows文件系统上的文件名中使用冒号,它们只能用于将驱动器与路径的其余部分分开:

D:\Try\folder\filename_1_06_09_2014_12:46:18.txt 
Issue is here ------------------------^--^

答案 2 :(得分:0)

只需使用有效的字符串

更改根目录名称

答案 3 :(得分:0)

由于您尝试打​​开的文件夹或尝试编写的文件具有级别安全权限,因此也可能会出现此问题。