Как сделать файл параметрической конфигурации?

У меня вопрос по конфигурационным файлам. Можно ли создать file.properties в java (пример с конфигурацией Apache Commons) как:

name = tom
surname = donald
free string = my favourite color is + paramFromJavaCode

где paramFromJavaCode динамически устанавливается из кода Java? Надеюсь, я ясно выразился, спасибо.


person django    schedule 28.11.2014    source источник
comment
Вы пытаетесь создать файл .properties в коде Java?   -  person Jazzepi    schedule 28.11.2014
comment
Я уже создал его, но не знаю, возможно ли то, что я написал @Jazzepi   -  person django    schedule 28.11.2014
comment
Вы можете записать в файл все, что хотите, используя обычные операции Java; не понятно в чем дело.   -  person Dave Newton    schedule 28.11.2014
comment
Я хотел бы написать файл конфигурации вручную, но некоторые строки могут быть обработаны из кода Java, поэтому существует ли синтаксис для привязки параметра к строке в file.properties? @Дэйв Ньютон   -  person django    schedule 28.11.2014


Ответы (2)


Предполагая, что вы пытаетесь создать файл .properties программно, вы можете сделать это следующим образом. Я добавил раздел о том, как добавить что-то в строку сурка. Это довольно простое манипулирование строками в Java!

public class WritePropertiesFile {
    public static void main(String[] args) {

        String customString = " are great!";

        try {
            Properties properties = new Properties();
            properties.setProperty("favoriteAnimal", "marmot" + customString);
            properties.setProperty("favoriteContinent", "Antarctica");
            properties.setProperty("favoritePerson", "Nicole");

            File file = new File("test2.properties");
            FileOutputStream fileOut = new FileOutputStream(file);
            properties.store(fileOut, "Favorite Things");
            fileOut.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

Что будет выводить

#Favorite Things
#Sat Feb 24 00:10:53 PST 2007
favoriteContinent=Antarctica
favoriteAnimal=marmot are great!
favoritePerson=Nicole
person Jazzepi    schedule 28.11.2014
comment
Хорошо, спасибо, но можно ли сначала установить строку marmot вручную в файле конфигурации, а затем связать ее строкой из кода Java? - person django; 28.11.2014
comment
Вы хотите что-то добавить к веревке сурка? Типа сурок велик? - person Jazzepi; 28.11.2014
comment
Да. сурок добавлен вручную и отлично подходит для перехода от кода Java к более позднему, строковый сурок великолепен @Jazzepi - person django; 28.11.2014

вы можете создать его как:

free string = my favourite color is %s

и позже в java-коде:

propval = String.format(propval, paramFromJavaCode);

для этой линии.

person DontRelaX    schedule 28.11.2014