Почему getProperty () возвращает ноль? - PullRequest
1 голос
/ 13 февраля 2012

У меня есть фрагмент кода, определяющий свойство как это:

public static final String DEFINED_KEY = "definedKey";
public static final String DEFINED_PROPERTY = "definedProperty";

// [...]

File f = File.createTempFile("default", ".properties");
PrintWriter pw = new PrintWriter(f);

Properties pp = new Properties();
pp.setProperty(DEFINED_KEY, DEFINED_PROPERTY);
pp.store(pw, "Automatically defined");
pw.close();

Который сохраняет файл свойств ОК

#No comments
#Mon Feb 13 17:25:12 CET 2012
definedKey=definedProperty

Когда я создаю другое свойство и выполняю load(), оно загружается ОК. get(DEFINED_KEY) возвращает значение, указанное для DEFINED_PROPERTY, но getProperty(DEFINED_KEY) возвращает null. Что с этим?

1 Ответ

1 голос
/ 13 февраля 2012

Я не вижу ничего плохого в вашем коде ... вот мой тест: -

public static final String DEFINED_KEY = "definedKey";
public static final String DEFINED_PROPERTY = "definedProperty";

public void run() throws Exception {
    // your code
    File f = File.createTempFile("default", ".properties");
    PrintWriter pw = new PrintWriter(f);
    Properties pp = new Properties();
    pp.setProperty(DEFINED_KEY, DEFINED_PROPERTY);
    pp.store(pw, "Automatically defined");
    pw.close();

    // examining the generated properties file
    System.out.println("Reading from properties file...");
    System.out.println("------------");
    Scanner scanner = new Scanner(f);
    while (scanner.hasNextLine()) {
        System.out.println(scanner.nextLine());
    }
    System.out.println("------------");

    // loading properties file
    Properties p = new Properties();
    p.load(new FileInputStream(f));

    System.out.println("p.get(DEFINED_KEY): " + p.get(DEFINED_KEY));
    System.out.println("p.getProperty(DEFINED_KEY): " + p.getProperty(DEFINED_KEY));
}

Сгенерированный вывод: -

Reading from properties file...
------------
#Automatically defined
#Mon Feb 13 11:00:42 CST 2012
definedKey=definedProperty
------------
p.get(DEFINED_KEY): definedProperty
p.getProperty(DEFINED_KEY): definedProperty
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...