Der Absolute Pfad für die Projekt-Ordner in Java

Viel Verwirrung bei diesem Thema. Mehrere Fragen gestellt zu haben. Die Dinge scheinen immer noch unklar.
ClassLoader, Absolute Dateipfade etc etc

Angenommen ich habe ein Projekt-Verzeichnis-Struktur,

MyProject-- 
--dist 
--lib 
--src 
--test 

Ich eine Ressource, die sagen "txtfile.txt" in "lib/txt" gespeichert. Ich will es in ein system Unabhängiger Weise. Ich brauche den absoluten Pfad des Projekts.
Also kann ich code den Pfad als abspath+"/lib/Dictionary/txtfile.txt"

Nehme an, dass ich dies tun

 java.io.File file = new java.io.File("");   //Dummy file
    String  abspath=file.getAbsolutePath();

Bekomme ich das aktuelle Arbeitsverzeichnis, das ist nicht unbedingt die Projekt-root.

Angenommen, führe ich das Finale 'prj.jar' aus dem "dist" - Ordner, die enthält auch "lib/txt/txtfile.txt" directory-Struktur und-Ressourcen,sollte Es funktionieren, auch hier. Ich soll den absoluten Pfad des dist Ordner.

Hoffe das problem ist klar.

Außerdem fühle ich mich dieser Ansatz ist immer noch nur auf "Unix", wie die Verzeichnis-Struktur der Plattformen Anhängen von "/lib/Dictionary/txtfile.txt" unter windows wird es Durcheinander durch vorwärts-und backslash differnces! 😐
Tatsächlich, Java kümmert sich nicht um die Schrägstrich-Richtungen, aber Sie können nur geben Sie nicht-root-Laufwerke explizit da / verweist auf das Stammverzeichnis des aktuellen Datenträgers.
System.getProperty("file.separator") return "\" für Windows-Umgebungen und "/" für Unix (und Unix-like).
ja, das ist in der Datei als Trennzeichen, aber Java wird noch erkennen, Pfade mit Hilfe der vorwärts-Schrägstriche zu verwenden, versuchen Sie, das nächste mal müssen Sie einen Pfad auf Windows.

InformationsquelleAutor Nitish Upreti | 2010-07-09

Schreibe einen Kommentar