Properties – это подкласс Hashtable. Он используется для хранения списков значений, в которых ключ является String, а значение также является String.
Класс Properties в Java используется множеством других классов. Например, это тип объекта, возвращаемый System.getProperties(), когда тот получает внешние значения.
Properties определяет следующие переменную экземпляра. Эта переменная содержит список свойств по умолчанию, связанный с объектом Properties.
Следующая программа показывает несколько методов, поддерживаемых этой структурой данных:
Properties defaults;
Конструкторы
Вот список конструкторов, предоставляемые классом Properties.
№ | Конструктор и описание |
1 | Properties() Этот конструктор создает объёкт Properties, который не имеет значений по умолчанию. |
2 | Properties(Properties propDefault) Создаёт объект, который использует propDefault для своих значений по умолчанию. В обоих случаях список свойств пустой. |
Методы
Помимо методов, определённых Hashtable, Properties определяет следующие методы:
№ | Метод и описание |
1 | String getProperty(String key) Возвращает значение, связанное с ключом. Возвращается нулевой объект, если ключ не находится ни в списке, ни в списке свойств по умолчанию. |
2 | String getProperty(String key, String defaultProperty) Возвращает значение, связанное с ключом; Возвращается defaultProperty, если ключ не находится ни в списке, ни в списке свойств по умолчанию. |
3 | void list(PrintStream streamOut) Отправляет список свойств в выходной поток, связанный с streamOut. |
4 | void list(PrintWriter streamOut) Отправляет список свойств в выходной поток, связанный с streamOut. |
5 | void load(InputStream streamIn) throws IOException Вводит список свойств из входного потока, связанного с streamIn. |
6 | Enumeration propertyNames() Возвращает перечисление ключей, включая ключи, найденные в списке свойств по умолчанию. |
7 | Object setProperty(String key, String value) Связывает значение с ключом. Возвращает предыдущее значение, связанное с ключом, или возвращает ноль, если такой связи не существует. |
8 | void 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 + ".");
}
}
Получим следующее:
Столицей Миссури является Джефферсон-Сити.
Столицей Иллинойс является Спрингфилд.
Столицей Индианы является Индиана полис.
Столицей Калифорнии является Сакраменто.
Столицей Вашингтона является Олимпия.
Столица Флориды Не Найдена.