Index: /trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 438)
+++ /trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 439)
@@ -4,4 +4,6 @@
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
@@ -12,4 +14,5 @@
 import java.util.LinkedList;
 import java.util.Map;
+import java.util.Properties;
 import java.util.SortedMap;
 import java.util.StringTokenizer;
@@ -171,11 +174,11 @@
 	 */
 	protected void save() {
+		final Properties props = new Properties();
+		for (Map.Entry<String, String> e : properties.entrySet()) {
+			props.setProperty(e.getKey(), e.getValue());
+		}
+
 		try {
-			final PrintWriter out = new PrintWriter(new FileWriter(getPreferencesDir() + "preferences"), false);
-			for (final Entry<String, String> e : properties.entrySet()) {
-				if (!e.getValue().equals(""))
-					out.println(e.getKey() + "=" + e.getValue());
-			}
-			out.close();
+			props.store(new FileOutputStream(getPreferencesDir() + "preferences"), null);
 		} catch (final IOException e) {
 			e.printStackTrace();
@@ -186,12 +189,10 @@
 
 	public void load() throws IOException {
+		final Properties props = new Properties();
+		props.load(new FileInputStream(getPreferencesDir()+"preferences"));
+
 		properties.clear();
-		final BufferedReader in = new BufferedReader(new FileReader(getPreferencesDir()+"preferences"));
-		int lineNumber = 0;
-		for (String line = in.readLine(); line != null; line = in.readLine(), lineNumber++) {
-			final int i = line.indexOf('=');
-			if (i == -1 || i == 0)
-				throw new IOException("Malformed config file at line "+lineNumber);
-			properties.put(line.substring(0,i), line.substring(i+1));
+		for (String key : props.stringPropertyNames()) {
+			properties.put(key, props.getProperty(key));
 		}
 	}
