【发布时间】:2008-09-25 07:22:28
【问题描述】:
我正在尝试使用以下代码复制文件:
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的写入权限,并且可以在使用操作系统时毫无问题地复制文件。
由于我无法访问机器,因此这种情况发生在我自己的机器上,并且无法在我自己的机器上重现该问题,因此我向您寻求有关此异常原因的提示。
【问题讨论】: