java: neue Datei("", "name") != neue Datei("name") ? (Datei-Konstruktor mit leerer string)

Aufgefallen heute.

Gegeben, dass eine Datei mit dem Namen "vorhandenen" besteht in der PWD von einem java-Prozess (windows).

new File("existing").exists() => true
new File("", "existing").exists() => false
new File(".", "existing").exists() => true

Ich würde erwartet haben, von der javadoc, dass die systemabhängigen Standard-Verzeichnis wäre dann "." und diese alle wahr sein, damit diese unerwartete.

Gedanken?

Dank!

-roger-

  • Was bekommen Sie, wenn Sie drucken new File("", "existing").getAbsolutePath()?
  • Mehr Spaß, auf unix: new File("") gibt das aktuelle Verzeichnis zurück, während new File("","") gibt das Dateisystem root... Riecht wie Schichten von legacy-API...
  • erscheint new File("", "vorhandenen").getAbsolutePath => "c:\existing" (und nicht, warum es wäre, dass der Weg für linux-und windows...ich bin mir nicht sicher)
InformationsquelleAutor rogerdpack | 2011-07-07
Schreibe einen Kommentar