У меня есть список пар ключ / значение конфигурационных значений, которые я хочу сохранить как файлы свойств Java, а позже загрузить и выполнить итерацию.
Вопросы:
Нужно ли мне хранить файл в том же пакете, что и класс, который будет их загружать, или есть какое-то конкретное место, куда его следует поместить?
Файл должен заканчиваться каким-либо определенным расширением или .txt НОРМАЛЬНО?
Как я могу загрузить файл в код
И как я могу перебирать значения внутри?
Переведено автоматически
Ответ 1
Вы можете передать InputStream в свойство, так что ваш файл может находиться практически где угодно и называться как угодно.
Вы можете сохранить файл где угодно. Если вы хотите сохранить его в своем jar-файле, вам потребуется использовать Class.getResourceAsStream() или ClassLoader.getResourceAsStream() для доступа к нему. Если это в файловой системе, то все немного проще.
Подойдет любое расширение, хотя, по моему опыту, .properties более распространено
Загрузите файл с помощью Properties.load, передав через InputStream или a StreamReader, если вы используете Java 6. (Если вы используете Java 6, я бы, вероятно, использовал UTF-8 и a Reader вместо кодировки ISO-8859-1 по умолчанию для потока.)
Выполните итерацию по нему, как вы выполняете итерацию по обычному Hashtable (который Properties является производным от), например, используя keySet(). В качестве альтернативы вы можете использовать перечисление, возвращаемое propertyNames() .
Ответ 3
Если вы поместите файл свойств в тот же пакет, что и class Foo , вы можете легко загрузить его с помощью