How do I save preference user settings in Java?

For example, I have a window with a preference button. I want to make it so that when user press the preference button and checks his/her appropriate options and press ok, it saves the preference, then when user presses run on the main window, it runs accordingly to preference the user changed on the preference window.

Thank you in advance.


Solution 1:

You can use java.util.prefs package. A simple example:

// Retrieve the user preference node for the package com.mycompany
Preferences prefs = Preferences.userNodeForPackage(com.mycompany.MyClass.class);

// Preference key name
final String PREF_NAME = "name_of_preference";

// Set the value of the preference
String newValue = "a string";
prefs.put(PREF_NAME, newValue);

// Get the value of the preference;
// default value is returned if the preference does not exist
String defaultValue = "default string";
String propertyValue = prefs.get(PREF_NAME, defaultValue); // "a string"

There are many more examples at java2s.com.

Solution 2:

There is a Java Preferences API specifically for this purpose. It lets you store per-user preferences in an easy cross-platform way, while the API itself takes care of where and how to store the data.

Solution 3:

public void saveProperties() {
    try {            
        String USER_NAME = "Some name";
        String DP_ADDRESS = "Some url";
        //create a properties file
        Properties props = new Properties();
        props.setProperty("User name", USER_NAME);
        props.setProperty("Display picture address", DP_ADDRESS);
        File f = new File("YOUR_TARGET_FILE_PATH");
        OutputStream out = new FileOutputStream( f );
        //If you wish to make some comments 
        props.store(out, "User properties");
    }
    catch (Exception e ) {
        e.printStackTrace();
    }
}

You may use java.util.Properties to save your preferences