gpt4 book ai didi

java - java.io.IOException : "The filename, directory name, or volume label syntax is incorrect" 的可能原因是什么

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:51 25 4
gpt4 key购买 nike

我正在尝试使用以下代码复制文件:

File targetFile = new File(targetPath + File.separator + filename);
...
targetFile.createNewFile();
fileInputStream = new FileInputStream(fileToCopy);
fileOutputStream = new FileOutputStream(targetFile);
byte[] buffer = new byte[64*1024];
int i = 0;
while((i = fileInputStream.read(buffer)) != -1) {
fileOutputStream.write(buffer, 0, i);
}

对于某些用户,targetFile.createNewFile 会导致此异常:

java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:850)

文件名和目录名似乎是正确的。在执行复制代码之前,甚至会检查目录 targetPath 是否存在,文件名如下所示:AB_timestamp.xml

用户对 targetPath 具有写入权限,并且可以使用操作系统毫无问题地复制文件。

由于我无法访问发生这种情况的机器,并且无法在我自己的机器上重现该问题,因此我向您寻求有关此异常原因的提示。

最佳答案

当文件名包含带冒号的时间戳时会发生这种情况,例如。 myfile_HH:mm:ss.csv 删除冒号解决了这个问题。

关于java - java.io.IOException : "The filename, directory name, or volume label syntax is incorrect" 的可能原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/131901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com