Moin moin!
Ich habe folgendes Problem:
Ich überprüfe beim Programmstart, ob die Datei, in der mein Programm die Einstellungen ablegt, existiert. Sofern dies nicht der Fall ist, will ich diese Datei erstellen und mit Standardeinstellungen füllen.
Meine Einstellungen sind intern als Properties-Objekt gespeichert. Um diese in eine Datei zu schreiben, verwende ich folgenden Code:
Code:
Wenn ich das Programm auf der Kommandozeile (Terminal (Mac/Linux) bzw. Eingabeaufforderung (Windows)) starte, ist alles wunderbar.
Ich möchte das Programm aber eigentlich per Doppelklick starten lassen, das ist einfach bequemer. Unter Mac OS und Windows (XP und 7) funktioniert dies bei mir absolut unproblematisch. Unter Linux (Ubuntu) leider überhaupt nicht. Ubuntu schmeißt fröhlich
s.
Was kann ich da tun?
Ich habe folgendes Problem:
Ich überprüfe beim Programmstart, ob die Datei, in der mein Programm die Einstellungen ablegt, existiert. Sofern dies nicht der Fall ist, will ich diese Datei erstellen und mit Standardeinstellungen füllen.
Meine Einstellungen sind intern als Properties-Objekt gespeichert. Um diese in eine Datei zu schreiben, verwende ich folgenden Code:
Code:
Java:
private static final String FS = System.getProperty("file.separator");
public static final String SETTINGS = System.getProperty("user.dir") + FS + "Resources"
+ FS + "settings.mqs";
public static void saveProperties(Properties p) throws IOException {
File f = new File(SETTINGS);
if (!f.exists()) {
boolean b = f.createNewFile();
}
BufferedOutputStream settings = new BufferedOutputStream(
new FileOutputStream(new File(SETTINGS)));
p.store(settings, null);
}
Wenn ich das Programm auf der Kommandozeile (Terminal (Mac/Linux) bzw. Eingabeaufforderung (Windows)) starte, ist alles wunderbar.
Ich möchte das Programm aber eigentlich per Doppelklick starten lassen, das ist einfach bequemer. Unter Mac OS und Windows (XP und 7) funktioniert dies bei mir absolut unproblematisch. Unter Linux (Ubuntu) leider überhaupt nicht. Ubuntu schmeißt fröhlich
Code:
FileNotFoundExcepsion
Was kann ich da tun?