2016-04-11 12 views
1

Initialisierung habe ich ein string str="\Users\name\Desktop\Folder1\test.txt". Ich habe den folgenden Code:FileNotFoundException wenn ein Filewriter mit Pfad

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

Ich erhalte Laufzeitfehler FileNotFound, für diese. Auch wenn ich FileWriter fw1 = new FileWriter(str); benutze, habe ich den gleichen Fehler. Ich mache das in Linux. Bitte helfen Sie mir in dieser Hinsicht.

+0

Drucken Sie die Ausnahmebedingungsnachricht aus und drucken Sie auch das 'str', um herauszufinden, wie das Programm es liest. –

Antwort

1

Wie andere haben bereits darauf hingewiesen, entweder die Flucht der \ Charakter (\\) oder noch besser nutzen die \ Charakter, die nicht entkommen benötigt und wird Ihnen die Mühe ersparen. Es gibt jedoch eine dritte Option, die File.separator anstelle von hardcoding verwendet, die ein wenig zusätzliche Arbeit sein kann, aber Ihren Code kugelsicher macht: string str="" + File.separator + "Users"+ File.separator + "name"+ File.separator + "Desktop" + File.separator + "Folder1" + File.separator + "test.txt".

1

Verwenden \\ statt \ oder verwenden Sie eine / statt \

1

Zunächst einmal sollten Sie / statt \ (auch auf einem Windows-System) verwenden.

Außerdem haben Sie keinen korrekten Pfad definiert. Es existiert nicht auf einem "normalen" Linux-System (wie Ubuntu, Debian ...). Vielleicht meinst du sowas wie "/home/name/Desktop/Folder1/test.txt"?