Я пытаюсь скопировать файл, используя следующий код:
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
и может без проблем скопировать файл с помощью ОС.
Поскольку у меня нет доступа к машине, это все еще происходит, и я не могу воспроизвести проблему на моей собственной машине.