Java kann kein "file://"
Geschrieben von Olaf Willuhn am// LinuxLiefert:
File f1 = new File("file://tmp/foobar.txt");
System.out.println(f1.getAbsolutePath());
// Windows
File f2 = new File("file://C:/tmp/foobar.txt");
System.out.println(f2.getAbsolutePath());
Unter Linux: /work/file:/tmp/foobar.txt
Unter Windows: C:\work\file:\C:\tmp\foobar.txt
Beides ungueltige Pfad-Angaben. Java erkennt also das "file://" nicht, behandelt es als relativen Pfad und pappt es einfach an das aktuelle Verzeichnis (hier "/work" bzw. "C:\work") dran. Auch meine erste Vermutung, man müsste stattdessen file:/// (mit 3 Slashes) schreiben, weil es ja eigentlich file://<Host weggelassen>/ lautet, funktioniert nicht.
Mal schaun, ob sich dazu was ergoogeln lässt.
Update: Ein bisschen Probieren ergab folgende Lösung:
File f = new File(new URI("file:///tmp/foobar.txt"));Sprich: Erst eine URI erzeugen (mit 3 Slashes) und die dem File-Konstruktor geben.
File f = new File(new URI("file:///C:/tmp/foobar.txt"));
Trackbacks
Trackback-URL für diesen EintragDieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.
Keine Trackbacks
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare
Ansicht der Kommentare: Linear | VerschachteltNoch keine Kommentare