Сохранение экранов файлов свойств:
Кто-нибудь знает, почему двоеточия исчезают, когда я храню файл свойств?
Я делаю это:
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
для получения значений.