2016-04-11 1 views
1

J'ai un string str="\Users\name\Desktop\Folder1\test.txt". je le code suivant:FileNotFoundException lors de l'initialisation d'un FileWriter avec le chemin

BufferedWriter fw1 = new BufferedWriter(new FileWriter(str)); 
fw1.write(t); 
fw1.close(); 

Je reçois l'erreur de temps FileNotFound, pour cela. Même si j'utilise FileWriter fw1 = new FileWriter(str); j'ai eu la même erreur. Je le fais sous linux. S'il vous plaît aidez-moi à cet égard.

+0

Imprimez le message d'exception et imprimez également le 'str' pour savoir comment le programme le lit. –

Répondre

1

Comme d'autres l'ont déjà souligné, que ce soit échapper au caractère \ (\\) ou utiliser encore mieux le caractère \ qui ne doit pas échapper et vous épargner la peine. Cependant, il existe une troisième option, en utilisant File.separator au lieu de hardcoding qui pourrait être un peu de travail supplémentaire, mais rendra votre code à l'épreuve des balles: string str="" + File.separator + "Users"+ File.separator + "name"+ File.separator + "Desktop" + File.separator + "Folder1" + File.separator + "test.txt".

1

Utilisation \\ au lieu de \ ou d'utiliser un / au lieu de \

1

Tout d'abord, vous devez utiliser / au lieu de \ (même sur un système Windows).

En outre, vous n'avez pas défini de chemin correct. Il n'existe pas sur un système Linux "normal" (comme Ubuntu, Debian ...). Peut-être que vous voulez dire quelque chose comme "/home/name/Desktop/Folder1/test.txt"?