Options möglichkeiten? Speichern und beliebig Laden?!

1000 Dank für die vielen Antworten! Ein durchaus interessantes Thema.
Ich habe ich mich vorerst (für ein Mail Programm) für die properties entschieden.
Irgendwie geht es aber (noch) nicht und ich würde mich sehr freuen wenn ihr da mal drüber schauen könntet:
Java:
public void smtpconfigspeichern() throws IOException{
		FileOutputStream save = new FileOutputStream("emailconfig.properties");
		smtphost1 = smpthosttf.getText();
		smtpport1 = smtpporttf.getText();
		smptuser = smptusertf.getText();
		smtpw = smptpwtf.getText();
		
		prop.store(save, "Bitte ueber Programm bearbeiten!");
		prop.store(save, "SMTP HOST = "+smtphost1);
		prop.store(save, "SMTP PORT = "+smtpport1);
		prop.store(save, "SMTP USER = "+smptuser);
		prop.store(save, "SMTP PW = "+smtpw);
		
	}

Wie man sieht geht es einfach darum das man den Inhalt der Textfelder schön in die propertie Datei speichert....leider erscheint bei mir alles als Kommentar? Ich habe nur Angst das dies evt. Probleme gibt beim einlesen, oder muss das so seien?
Hier mal der Inhalt der propertie Datei:
(gefüllt mit Beispielkram):
#Bitte ueber Programm bearbeiten!
#Mon Jul 18 15:59:04 CEST 2011
#SMTP HOST = dfdfdf
#Mon Jul 18 15:59:04 CEST 2011
#SMTP PORT = dfdf
#Mon Jul 18 15:59:04 CEST 2011
#SMTP USER = dfdfdf
#Mon Jul 18 15:59:04 CEST 2011
#SMTP PW = dfdfdf
#Mon Jul 18 15:59:04 CEST 2011


Vielen Dank für eure Hilfe und auch den vielen wirklich guten Beiträgen da oben ;)
 
Moin ^^

Nein, ist nicht normal, aber das liegt auch daran, dass du die Einstellungen nicht einfügst und speicherst, sondern sie als Kommentar ablegst ^^

Eigentlich sollte es so aussehen:
Java:
public void smtpconfigspeichern() throws IOException{
	FileOutputStream save = new FileOutputStream("emailconfig.properties");
	smtphost1 = smpthosttf.getText();
	smtpport1 = smtpporttf.getText();
	smptuser = smptusertf.getText();
	smtpw = smptpwtf.getText();

	prop.setProperty("SMTP_HOST", smtphost1);
	prop.setProperty("SMTP_PORT", smtpport1);
	prop.setProperty("SMTP_USER", smtpuser);
	prop.setProperty("SMTP_PW", smtppw);
	
	prop.store(save, "SMTP-Einstellungen");
}
So sollte es klappen ^^
 
Hallo,

Was Akeshihiro geschrieben ist vollkommen richtig.
Ich würde jedoch gerne folgendes hinzufügen, da es noch nicht erwähnt wurde:

Properties sind ja ein assoziativer Speicher mit einem "Schlüssel" und einem "Wert".
Die Trennung von Schlüssel und Wert kann mit einem "=" oder einem Leerzeichen vorgenommen werden.

Deshalb ist es wichtig, dass die Schlüssel (zum Beispiel "SMTP_HOST") keine Leerzeichen enthalten.
Akeshihiro hat dies in seinem Beispiel bereits korrigiert dargestellt.

Auch wenn Properties vielleicht mit einem "=" abgespeichert werden, kann man sich nie darauf verlassen.

Mir ist es leider öfters passiert, dass Schlüssel mit Leerzeichen ab diesem dann als Teil des Wertes interpretiert wurden.

mfg,
Martin C.
 
Zurück