Hallo,
Die Datei existiert 100%. Mit absoluten Pfad wird die Datei gefunden, mit relativen nicht. Hier ist ein Beispiel:
###############################################
File datei = new File("ordner/datei.txt");
System.out.println(datei.exists()); //false
###############################################És geht auch nicht, wenn ich die Datei in den Ordner lege, wo auch die Klasse selbst ist (new File("datei.txt")).
Nunja, das kann daran liegen, dass Du die Klasse nicht in dem gleichen Verzeichnis ausführst, in dem sie auch liegt.
Beispiel:
In /home/christian/tmp/java liegt eine Datei "dateia.class" die eben Deinen Code new File ("datei.txt") macht und dann ausgibt, ob sie existiert.
Führe ich in /home/christian/tmp/java folgenden Befehl aus:
java dateia
Dann erhalte ich:
true
als Ausgabe (d.h. die Datei existiert). Führe ich dagegen IRGENDWO anders (d.h. in einem anderen Verzeichnis) folgenden Befehl aus:
java -cp /home/christian/tmp/java dateia
dann erhalte ich:
false
als Ausgabe.
Führe doch mal folgenden Code aus:
System.out.println (new File (".").getCanonicalPath ());
Das gibt Dir aus, in welchem Verzeichnis Du Dich befindest, wenn Du Deine Java-Datei ausführst. Alle Pfade müssen relativ zu DEM Verzeichnis sein (oder Du musst vor der Java-Ausführung das Verzeichnis wechseln).
Viele Grüße,
Christian