Какие знаешь свойства Properties

«Какие знаешь свойства Properties» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Properties — это класс в Java для работы с парами ключ-значение, обычно используемый для конфигурации. Основные свойства:

  1. Наследует Hashtable — хранит данные в виде Map<String, String>.
  2. Поддержка потоков — методы load() и store() для чтения/записи в InputStream/OutputStream.
  3. Поддержка кодировкиload(Reader) и store(Writer) для работы с UTF-8.
  4. Дефолтные значения — можно указать через конструктор Properties(Properties defaults).

Пример:

Properties props = new Properties();
try (InputStream is = getClass().getResourceAsStream("config.properties")) {
    props.load(is);
    String value = props.getProperty("key", "defaultValue");
} catch (IOException e) {
    e.printStackTrace();
}