Класс Properties – это подкласс Hashtable. Он используется для хранения списков значений, в которых ключ является String, а значение также является String.

Класс Properties в Java используется множеством других классов. Например, это тип объекта, возвращаемый System.getProperties(), когда тот получает внешние значения.

Properties определяет следующие переменную экземпляра. Эта переменная содержит список свойств по умолчанию, связанный с объектом Properties.

Следующая программа показывает несколько методов, поддерживаемых этой структурой данных:

Properties defaults;

Конструкторы

Вот список конструкторов, предоставляемые классом Properties.

Конструктор и описание
1Properties()
Этот конструктор создает объёкт Properties, который не имеет значений по умолчанию.
2Properties(Properties propDefault)
Создаёт объект, который использует propDefault для своих значений по умолчанию. В обоих случаях список свойств пустой.

Методы

Помимо методов, определённых Hashtable, Properties определяет следующие методы:

Метод и описание
1String getProperty(String key)
Возвращает значение, связанное с ключом. Возвращается нулевой объект, если ключ не находится ни в списке, ни в списке свойств по умолчанию.
2String getProperty(String key, String defaultProperty)
Возвращает значение, связанное с ключом; Возвращается defaultProperty, если ключ не находится ни в списке, ни в списке свойств по умолчанию.
3void list(PrintStream streamOut)
Отправляет список свойств в выходной поток, связанный с streamOut.
4void list(PrintWriter streamOut)
Отправляет список свойств в выходной поток, связанный с streamOut.
5void load(InputStream streamIn) throws IOException
Вводит список свойств из входного потока, связанного с streamIn.
6Enumeration propertyNames()
Возвращает перечисление ключей, включая ключи, найденные в списке свойств по умолчанию.
7Object setProperty(String key, String value)
Связывает значение с ключом. Возвращает предыдущее значение, связанное с ключом, или возвращает ноль, если такой связи не существует.
8void store(OutputStream streamOut, String description)
После записи строки, указанной в описании, список свойств записывается в выходной поток, связанный с streamOut.

Пример

Следующая программа показывает несколько методов, поддерживаемых этой структурой данных:

import java.util.*;
public class PropDemo {

   public static void main(String args[]) {
      Properties capitals = new Properties();
      Set states;
      String str;
      
      capitals.put("Иллинойс", "Спрингфилд");
      capitals.put("Миссури", "Джефферсон-Сити");
      capitals.put("Вашингтона", "Олимпия");
      capitals.put("Калифорнии", "Сакраменто");
      capitals.put("Индианы", "Индианаполис");

      // Показывает все штаты и столицы в хэш-таблицы.
      states = capitals.keySet();   // Получить набор ключей
      Iterator itr = states.iterator();
      
      while(itr.hasNext()) {
         str = (String) itr.next();
         System.out.println("Столицей " + str + " является " + 
            capitals.getProperty(str) + ".");
      }     
      System.out.println();

      // При нахождении штата вне списка –– указать значение по умолчания.
      str = capitals.getProperty("Флорида", "Не Найдена");
      System.out.println("Столица Флориды " + str + ".");
   }
}

Получим следующее:

Столицей Миссури является Джефферсон-Сити.
Столицей Иллинойс является Спрингфилд.
Столицей Индианы является Индиана полис.
Столицей Калифорнии является Сакраменто.
Столицей Вашингтона является Олимпия.

Столица Флориды Не Найдена.

Оглавление