Schreiben in properties.Datei

A

alex2006

hallo,
ich habe eine kleine Desktopapplikation mit Swing realisiert. In einer properties.Datei habe ich zwei Pfadangaben stehen, die der Benutzer - dauerhaft- verändern kann (Pfad zur Logdatei und Pfad zum Verzeichnis, dass beim Aufruf des FileChoosers automatisch geöffent werden soll)

Unter Eclipse kann ich die Einträge verändern. Sobald ich das Programm gepackt habe (fatjar) und aufrufe, sagt mir das System, dass es die Datei nicht finden kann.

Ich hole die Properties Datei wie folgt:
InputStream is =
this.getClass().getClassLoader().getResourceAsStream("de/tst/cadimport/config.properties");

Und schreibe so zurück:
FileOutputStream fos;
try {
fos = new FileOutputStream(
"de/tst/cadimport/config.properties");
properties.store(fos, str);
fos.close();
ci.setLogPath(logPath);
ci.setFileChooserPath(fileChooserPath);
} catch (FileNotFoundException e1) {
logger.error(e1.getMessage());
} catch (IOException e1) {
logger.error(e1.getMessage());
}

Was muss ich beachten? Wenn das nicht geht, wie soll ich das sonst realisieren?
Danke!
 
Hi,
schau mal in deine Manifest-Datei, da müsste in der Class-Path-Angabe ausser deiner .jar-Datei auch ein "." für das current directory stehen, etwa so:
Class-Path: smartSql.jar . jdom.jar

Und eventuell müsste vor dem "de" deiner Pfad-Angabe ein führender "/" stehen?

Grüße
testalucida
 
Fatjar verpackt dir afaik die ganze Applikation in einem eigenen Package.
An deiner Stelle würde ich eher auf nen eigenes Ant-Script zurückgreifen, die dir den Buildprozess abnimmt (iss einfacher als man anfangs denkt^^).
 
Da frage ich mich, ob man so überhaupt in ein JAR-Archiv schreiben kann...

Lege Deine Konfiguration außerhalb des JARs (wäre meine Wahl) oder packe danach das JAR neu.
 
Zurück