Сохранение экранов файлов свойств:

Кто-нибудь знает, почему двоеточия исчезают, когда я храню файл свойств?

Я делаю это:

Properties prop = new Properties();


// Set the properties value.

prop.setProperty("url","http://localhost:7101/test/home");

И сохранение с использованием:

prop.store(new FileOutputStream(propFile), null);

Он работает, но выход имеет двоеточие, которые были экранированы по какой-то причине:

url=http\://localhost\:7101/test/home

Кто-нибудь знает исправление?

Ответ 1

В файлах свойств оба из них являются законными:

key1 = value
key2: value

Итак, оба = и: должны быть экранированы.

Теперь, если вы прочитаете вещь обратно с помощью свойств, это не проблема. В противном случае вам придется написать собственный код

Ответ 2

Что делает store() API: -

Каждый символ ключа и элемента проверяются строки, чтобы увидеть, должно быть представлено как побег последовательность. Символы ASCII \, вкладка, форма подачи, новая линия и перевозка return записываются как \,\t,\f\n, и \r соответственно. Персонажи меньше чем \u0020 и символы больше чем \u07E, записываются как \uxxxx для соответствующее шестнадцатеричное значение хххх. Для ключа все пространство символы написаны с помощью предшествующий символ \. Для элемент, ведущие символы пробела, но не встроенное или конечное пространство символов, записываются с помощью предшествующий символ \. Ключ и символы элементов #,!, =, и: являются с предыдущей обратной косой чертой убедитесь, что они правильно загружены.

Это не имеет большого значения для вас, если вы используете Properties для получения значений.