Ich verwende Windows und versuche, auf ein Verzeichnis zu verweisen. Meine Funktion startet wie folgt aus:Wie beziehe ich mich auf ein Verzeichnis in Java?
File file = new File("C:\\somedir\\report");
if (!file.exists()) {
file.mkdirs();
}
doStuffWith(file);
Ich habe eine Nullpointer innerhalb der doStuffWith
Funktion, als ich versuchte, listFiles
zu nennen. Nun, ich schaute in C: \ somedir und was habe ich gefunden - es gibt eine Datei namens "report" ohne Erweiterung, und auch ein Verzeichnis namens "report"! Was zu geschehen schien, war, dass das Objekt file
sich auf den Bericht Datei eher als Verzeichnis bezog. Wie stelle ich sicher, dass ich mich auf das Verzeichnis und nicht auf die Datei beziehe?
Haben Sie versucht Datei Datei = neue Datei ("C: \\ somedir \\ Bericht \\"); (Beachten Sie die abschließenden Schrägstriche). Keine Ahnung ob das klappt aber einen schnellen Build und Test wert ist. – Paolo
Welche Art von Betriebssystem erlaubt dies überhaupt? Ich hatte den Eindruck, dass Windows das nicht erlaubt. Ist es möglich, dass Ihr Verzeichnis einige unsichtbare Zeichen im Namen enthält (z. B. ein Leerzeichen)? –
Ich habe gerade versucht, einen Ordner namens "Ordner" und eine Datei ohne Erweiterung namens "Ordner" zu erstellen und Windows beschwerte sich darüber. Ich verwende Windows XP SP3 32-Bit. –