Pfadangaben

Status
Nicht offen für weitere Antworten.

CelikBlek

Bekanntes Mitglied
Hallo,

habe mal ganz banale Frage.
Habe folgende Verzeichnisstruktur:

c:\MyVerzeichnis\Programm
c:\MyVerzeichnis\Programm\prog.jar
c:\MyVerzeichnis\Programm\config
c:\MyVerzeichnis\Programm\config\a.ini
c:\MyVerzeichnis\config
c:\MyVerzeichnis\config\prog.ini

mein Program prog.jar soll zur Laufzeit aus dem c:\MyVerzeichnis\config und c:\MyVerzeichnis\Programm\config einige Properties lesen. Wie gebe ich das in Java-Code ein. Habe dafür einen Interface wie folgt:
Code:
...
public static final String CONFIG_PFAD = "config/";
public static final String CONFIG_PFAD_SPEZ = "./config/";
...

Wie muss hier die Pfadangabe sein? Es soll nicht mit irgendwie c:/ beginnen. Wo bin ich wenn ich ./ angebe?

Danke für eure Hilfe.
 

Leroy42

Top Contributor
CelikBlek hat gesagt.:
Wo bin ich wenn ich ./ angebe?
Da, wo deine .jar Datei liegt, also in c:\MyVerzeichnis\Programm.

Das heißt, du kannst mit "config/" was dasselbe ist wie "./config/" auf das richtige Verzeichnis
zugreifen. Falls dein config-Verzeichnis z.B. c:\MyVerzeichnis\config wäre, müßtest du
in deinem relative Pfad erst eine Ebene höher gehen: "../config"

Oder rede ich jetzt Stuß ???:L
CelikBlek startet ja kein .class Programm sondern das .jar Archive.
Gilt dann immer noch was ich geschrieben habe :?
 

CelikBlek

Bekanntes Mitglied
Das heißt, du kannst mit "config/" was dasselbe ist wie "./config/" auf das richtige Verzeichnis
zugreifen. Falls dein config-Verzeichnis z.B. c:\MyVerzeichnis\config wäre, müßtest du
in deinem relative Pfad erst eine Ebene höher gehen: "../config"
Das heisst mit .. komme ich zwei Ebenen höher? Also ich habe ein config direkt bei jar und einen eine Ebene höher als die jar.
Wahrscheinlich ist die beste Methode beim Aufruf die Installationsparameter mit zu geben. Aber das wollt eich eigentlich nicht.[/quote]
 

norman

Top Contributor
nein, mit .. kommst du 1 ebene höher. '.' ist ja das aktuelle verzeichnis. 2 ebenen höher geht es mit '../..'
kannst du in der konsole testen mit "cd." und "cd.." usw.
 

Leroy42

Top Contributor
@norman : Gilt das immer noch wenn er das Programm aus einem Archiv startet?
@Celik : Kannst du deine Konfigurationsdateien nicht einfach mit in dein Archiv stecken?
Oder sollen diese vom Programm änderbar sein?
 

CelikBlek

Bekanntes Mitglied
Ja das mit Archiv stecken wird nichts. Die config sollen ausserhalb sein und jeder Zeit veränderbar sein. Den config ausserhalb teilen sich mehrere Programme (Module). ich werde die Lösung mit ..\..\ probieren. Gebe Feedback.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben