java-schreiben der Datei Fehler: java.io.FileNotFoundException: Ungültige Datei-Pfad
Ich habe eine Frage zum schreiben von csv-Datei auf das aktuelle Projekt in eclipse
public static void Write_Result(String Amount_Time_Dalta) throws IOException{
File file;
FileOutputStream fop = null;
String content = "";
String All_Result[] = Amount_Time_Dalta.split("-");
String path ="/Users/Myname/Documents/workspace/ProjectHelper/"+All_Result[1] + ".csv";
System.out.println(path);
content = All_Result[3]+ "," + All_Result[5] + "\n";
System.out.println(content);
file = new File(path);
fop = new FileOutputStream(file);
file.getParentFile();
if (!file.exists()) {
file.createNewFile();
}
byte[] contentInBytes = content.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
}
und ich bin immer Fehler, die
Exception in thread "main" java.io.FileNotFoundException: Invalid file path
at java.io.FileOutputStream.<init>(FileOutputStream.java:215)
at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
at FileDistributor.Write_Result(FileDistributor.java:59)
at FileDistributor.main(FileDistributor.java:29)
Ich verwendet
String path ="/Users/Myname/Documents/workspace/ProjectHelper/";
Pfad zum Lesen von Dateien. Ich war fein arbeiten.
Jedoch, wenn ich mit gleichen Weg, Schreibe Ergebnis in Datei ( kann vorhanden sein oder nicht. Ich erstellen oder überschreiben einer Datei). es gibt Ungültiger Dateipfad.... Ich bin nicht wirklich sicher, warum..
aktualisiert
gerade festgestellt, interessante Sache. als ich gerade File newTextFile = new File("1000".csv), dann ist es arbeiten. allerdings, wenn ich ersetzen File newTextFile = new File(filename +".csv"); funktioniert es nicht.
- Check out this post: stackoverflow.com/questions/15891510/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie hier haben, ist ein Gültiger Pfad auf die ein File-Objekt erzeugt werden können:
Aber wenn man es ein zweites mal, werden Sie sehen, dass es sich um ein Verzeichnis, nicht eine beschreibbare Datei. Was ist Ihr name?
Was macht Ihr
System.out.println
sagen, ist der Wert desAll_Result[1]
?Beispielcode:
Um diesen code zu brechen, anstatt die
array[0]
als Datei-name, geben Sie nur in eine leere Zeichenfolge""
und können Sie reproduzieren Ihre Fehler.Ich hatte das gleiche problem und war auf der Suche nach Antwort. Ich habe versucht mit string.trim (), und stellen Sie ihn in den Ausgabestrom aus und es funktionierte. Ich vermute, es gibt einige nachfolgende Zeichen oder bits rund um die Datei-Pfad