S
Shlyakh
Guest
Habe folgendes Problem. Ich will eine datei schreiben, mit einer Mehtode, die sich write() nennt.
Wenn ich den Pfad übergebe, dann gibt es in dem Pfad nur einfache Backslashes, das mag Windows nicht. Wenn ich dann mit einer replace-Methode die \ mit \\ ersetzen will, akzeptiert er den Pfadnamen dennoch nicht. Ich hoffe mal, dass diese Frage an dieser Stelle nicht fehl am Platze ist.
Ich habe keine ahnung, warum das der Fall ist
Ich kann das Resultat des Codesnippets hier oben angeben:
C:\Users\MEINNAME1\Desktop\regeln\log.txt
C:\\Users\\MEINNAME1\\Desktop\\regeln\\log.txt
Wenn ich den Pfad übergebe, dann gibt es in dem Pfad nur einfache Backslashes, das mag Windows nicht. Wenn ich dann mit einer replace-Methode die \ mit \\ ersetzen will, akzeptiert er den Pfadnamen dennoch nicht. Ich hoffe mal, dass diese Frage an dieser Stelle nicht fehl am Platze ist.
Code:
public void write(String path){
//Create the logfile if not exists.
try {
System.out.println(path);
path = path.replace("\\","\\\\");
System.out.println(path);
file = new File(path);
// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}
Ich habe keine ahnung, warum das der Fall ist

Ich kann das Resultat des Codesnippets hier oben angeben:
C:\Users\MEINNAME1\Desktop\regeln\log.txt
C:\\Users\\MEINNAME1\\Desktop\\regeln\\log.txt
java.io.IOException: Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at inout.mWriter.write(mWriter.java:25)
at inout.mReader.read(mReader.java:49)
at core.Main.main(Main.java:16)