Клас Properties

Ще один поширений варіант пари ключ / елемент – список властивостей, Що складається з строкових імен та повязаних з ними строкових елементів Цей різновид словника часто володіє допоміжним набором елементів за замовчуванням для властивостей, відсутніх в таблиці є розширенням Hashtable Практично для всіх маніпуляцій зі списками властивостей використовуються методи Hashtable, однак для отримання властивостей застосовується один з двох методів getProperty:

public String getProperty(String key)

Повертає елемент для заданого ключа key Якщо ключ відсутній у списку властивостей, проглядається список властивостей за замовчуванням (якщо він існує) Метод повертає null, якщо властивість не знайдено

public String getProperty(String key, String defaultElement)

Повертає елемент для заданого ключа key Якщо ключ відсутній у списку властивостей, проглядається список властивостей за замовчуванням (якщо він існує) Якщо елемент відсутній в обох списках, повертається рядок defaultElement

містить два конструктора: один викликається без аргументів, а другий передається обєкт Properties, який представляє допоміжний список властивостей за замовчуванням Якщо пошук в основному списку властивостей виявляється невдалим, то проглядається допоміжний обєкт Properties, який, у свою чергу, може

мати власний допоміжний обєкт з властивостями за замовчуванням, і так далі

Ланцюжок основних і допоміжних списків властивостей може мати довільну довжину public Properties()

Створює порожній список властивостей

public Properties(Properties defaults)

Створює порожній список властивостей із заданим допоміжним обєктом Properties для пошуку властивостей, відсутніх в основному списку

Якщо список властивостей складається тільки із строкових ключів і елементів, можна записувати або зчитувати його з файлу або іншого потоку введення / виводу за допомогою таких методів:

public void save(OutputStream out, String header)

Зберігає вміст списку властивостей в OutputStream Рядок header записується в вихідний потік у вигляді коментаря, що складається з одного рядка Не користуйтесь багаторядковими заголовками-коментарями, інакше збережений список властивостей не вдасться завантажити У файлі зберігаються тільки властивості, що входять в основний список, але не у допоміжний

public synchronized void load(InputStream  in) throws

IOException

Завантажує список властивостей з InputStream Передбачається, що список властивостей був раніше збережений методом save Метод завантажує властивості тільки в основний список, але не у допоміжний

Для отримання обєкта Enumeration, що представляє собою фотографію ключів в списку властивостей, застосовується метод propertyNames:

public Enumeration propertyNames()

Створює обєкт-перерахування з переліком всіх ключів Метод гарантує фіксацію вихідного стану

public void list(PrintStream  out)

Виводить властивості зі списку в заданий потік PrintStream Метод корисний під час налагодження

Після створення обєкта неможливо змінити його допоміжний перелік властивостей Якщо це все ж необхідно зробити, можна створити підклас класу Properties і змінити значення захищеного поля defaults, містить список властивостей за замовчуванням

Джерело: Арнольд К, Гослінг Д – Мова програмування Java (1997)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*