Quelles sont les raisons possibles de java.io.IOException: "La syntaxe du nom de fichier, du nom de répertoire ou de l'étiquette de volume est incorrecte"

Je suis en train de copier un fichier en utilisant le code suivant:

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);
}

Pour certains utilisateurs, la targetFile.createNewFile résultats de cette exception:

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)

Nom de fichier et le nom du répertoire semblent corrects. Le répertoire targetPath est encore vérifié l'existence avant de la copier le code est exécuté et le nom de fichier ressemble à ceci: AB_timestamp.xml

L'utilisateur a des droits d'écriture pour le targetPath et pouvez copier le fichier sans problèmes à l'aide de l'OS.

Que je n'ai pas accès à une machine ce qui se passe sur la encore et ne peut pas reproduire le problème sur ma machine, je me tourne vers vous pour des conseils sur la raison de cette exception.

source d'informationauteur Turismo