Подтвердить что ты не робот

Java эквивалентен app.config?

Есть ли эквивалент Java для .NET App.Config?

Если нет стандартного способа сохранить настройки приложения, чтобы их можно было изменить после того, как приложение было распространено?

4b9b3361

Ответ 1

Для WebApps web.xml можно использовать для хранения настроек приложения.

Кроме этого, вы можете использовать класс Properties для чтения и записи файлов свойств.

Вы также можете посмотреть класс Preferences, который используется для чтения и записи системных и пользовательских настроек. Это абстрактный класс, но вы можете получить соответствующие объекты с помощью userNodeForPackage(ClassName.class) и systemNodeForPackage(ClassName.class).

Ответ 2

Чтобы поставить предложение @Powerlord (+1) с использованием класса Properties в пример кода:

public class SomeClass {
    public static void main(String[] args){
        String dbUrl = "";
        String dbLogin = "";
        String dbPassword = "";     
        if (args.length<3) {
            //If no inputs passed in, look for a configuration file
            URL configFile = SomeClass.class.getClass().getResource("/Configuration.cnf");
            try {
                InputStream configFileStream = configFile.openStream();
                Properties p = new Properties();
                p.load(configFileStream);
                configFileStream.close();

                dbUrl      = (String)p.get("dbUrl");
                dbLogin    = (String)p.get("dbUser");
                dbPassword = (String)p.get("dbPassword");               
            } catch (Exception e) {  //IO or NullPointer exceptions possible in block above
                System.out.println("Useful message");
                System.exit(1);
            }
        } else {
            //Read required inputs from "args"
            dbUrl      = args[0];
            dbLogin    = args[1];
            dbPassword = args[2];           
        }
        //Input checking one three items here
        //Real work here.
    }
}

Затем в корне контейнера (например, верхней части файла jar) поместите файл Configuration.cnf со следующим содержимым:

#Comments describing the file
#more comments
dbUser=username
dbPassword=password
dbUrl=jdbc\:mysql\://servername/databasename

Это ощущение не идеально (мне было бы интересно услышать улучшения), но достаточно хорошо для моих текущих потребностей.

Ответ 3

Простым способом является просто иметь файл свойств, например myapp.properties, со всеми вашими настройками. Это не очень продвинутый способ делать настройки, но этого достаточно, или вы можете иметь собственную настройку на основе XML или получить их из базы данных и т.д.