Главная » Java » Класс Properties для хранения строковых ключей и соответствующих им строковых элементов

0

 

  Объект класса Properties используется для хранения строковых ключей и соответствующих им строковых элементов. является производным от Hashtable и предусматривает поддержку объекта Properties, предлагаемого по умолчанию для свойств (properties), которые отсутствуют в хеш-таблице (hashtable). Для манипуляций с объектом Properties почти во всех случаях используются стандартные методы Hashtable, но операции set и get можно осуществлять с помощью специальных методов, оптимизированных для работы с объектами String. Помимо унаследованных членов, класс Properties содержит ряд конструкторов и методов, рассмотренных ниже.

 

 

public Properties()

Создает пустую коллекцию свойств.

public Properties(Properties defaults)

Создает пустую коллекцию свойств с заданным объектом Properties, предлагаемым по умолчанию. Если поиск элемента в коллекции свойств завершается неудачей, запрашивается объект Properties, предусмотренный по умолчанию. Такой объект также в свою очередь может обладать собственным объектом Properties и т.д. Степень вложенности объектов Properties, предлагаемых по умолчанию, может быть произвольной.

public String getProperty(String key)

Возвращает значение свойства, соответствующее заданному ключу key. Если ключ не найден в текущем объекте свойств, поиск осуществляется в объекте Properties, предусмотренном по умолчанию (если таковой определен). Если ключ не может быть найден, возвращается значение null.

public string getProperty(String key,   String defaultElement)

Возвращает значение свойства, соответствующее заданному ключу key. Если ключ не найден в текущем объекте свойств, поиск осуществляется в объекте Properties, предусмотренном по умолчанию (если таковой определен). Если ключ не может быть найден, возвращается значение defaultElement.

public object setProperty(String key,   String value)

Добавляет в коллекцию свойств пару вида ключ/значение (key/val ue). Оказывает влияние только на текущий объект Properties. Содержимое объекта Properties, предусмотренного по умолчанию (если таковой определен), остается неизменным. Возвращает прежнее значение, соответствовавшее ключу key, либо null, если таковой в коллекции отсутствовал.

public void store(OutputStream out,   String header) throws  lOException

Выводит содержимое коллекции свойств в поток типа OutputStream. Метод завершает выполнение нормальным образом тогда, когда текущий объект Properties содержит только строковые ключи и значения (как гласит спецификация, именно так и должно быть); в противном случае выбрасывается исключение типа ClassCastException. Значение header, если оно не равно null, выводится в поток в виде однострочного комментария. Многострочные объекты header использовать нельзя, иначе сохраненные в потоке свойства впоследствии нельзя будет ввести посредством метода Toad, описанного ниже. В поток выводится только содержимое текущего объекта Properties; данные объекта Properties, предусмотренного по умолчанию (если таковой определен), в потоке не сохраняются.

 public void load(lnputstream in)  throws iOException

Вводит содержимое коллекции свойств, ранее сохраненное методом Store (см. выше), из потока типа inputStream. Данные помещаются в текущий объект Properties; содержимое объекта Properties, предлагаемого по умолчанию (если таковой определен), не изменяется.

public Enumeration propertyNames()

Возвращает объект Enumeration (итератор) для набора ключей — в том числе и тех, которые содержатся в объекте Properties, предусмотренном по умолчанию (если таковой определен). Метод создает моментальный снимок (snapshot) данных, поэтому его выполнение может быть сопряжено со значительными вычислительными затратами. Унаследованный метод keys, однако, возвращает только те ключи, которые относятся к текущему объекту Properties.

public void list(Printwriter out)

Записывает содержимое коллекции свойств в указанный поток типа PrintWriter. Метод полезен для использования в процессе отладки.

public void list(PrintStream out)

Выводит    содержимое    коллекции    свойств    в    указанный    поток    типа PrintStream. Метод полезен для использования в процессе отладки.

 

После создания объекта Properties аналогичный объект, предлагаемый по умолчанию,   не  может  быть  изменен.   Чтобы  модифицировать  характеристики объекта  Properties,  предусмотренного по умолчанию,  можно  создать класс, производный от Properties, и внести изменения в содержимое объекта, на который указывает protected-поле defaults.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии