Системні властивості

Існує ряд системних властивостей, які зберігаються всередині класу System у вигляді обєкта класу Properties Вони визначають системне оточення і використовуються класами, яким необхідна відповідна інформація Наприклад, наведемо роздруківку властивостей однієї системи:

#System properties

#Tue Feb 27 19:45:22 EST 1996 javahome=/lab/east/tools/java/java javaversion=101

fileseparator=/

lineseparator=\n

javavendor=Sun Microsystem Inc username=arnold

osarch=sparc osname=Solaris javavendorurl=http://wwwsuncom/ userdir=/vob/java_prog/src

javaclasspath=:/classes:/home/arnold/java/lib/ classeszip:/home/arnold/java/classes javaclassversion=453

osversion=2x

pathseparator=:

userhome=/home/arnold

Всі перераховані вище властивості визначені у всіх системах, хоча їх значення, звичайно ж, змінюються Деякі з них застосовуються стандартними пакетами Java Наприклад, клас File використовує властивість fileseparator для побудови та аналізу шляхів до файлів Програмісти теж можуть задіяти ці властивості Наступний метод шукає файл конфігурації в особистій папці користувача:

public static File personalConfig(String fileName) { String home = SystemgetPropety(&quotuserhome&quot)

if (home == null)

return null

else

}

return new File(home, fileName)

Нижче перераховані всі методи класу System, які служать для роботи з системними властивостями:

public static Properties getProperties()

Повертає обєкт класу Properties, що представляє системні властивості public static void setProperties(Properties props)

Задає системні властивості, використовуючи для цього заданий обєкт класу Properties

public static String getProperty(String key)

Повертає поточне значення системного властивості, заданого у вигляді рядка key

Еквівалентно SystemgetProperties () GetProperty (key) public static String getProperty(String key, String defaultValue)

Повертає поточне значення системного властивості, заданого у вигляді рядка key Якщо

воно не визначено, повертається defaultValue Еквівалентно

SystemgetProperties()getProperty(key, def)

Значення властивостей зберігаються у вигляді рядків, однак деякі рядки представляють інші типи – наприклад, цілі або логічні Існують спеціальні методи, які є статичними методами відповідних класів-оболонок, для читання властивостей і перетворення їх у значення примітивних типів Кожен з таких методів отримує строковий параметр з імям властивості, що цікавить програміста Деякі методи мають і другий параметр (позначений нижче як def) зі значенням за замовчуванням, яке повертається в тому випадку, якщо властивість з даним імям не знайдено Методи, в яких цей параметр відсутній, в цьому випадку повертають обєкт, що містить 0 для числового типу або false – для логічного Всі ці методи перетворять значення в стандартний для Java формат примітивного типу

public static boolean BooleangetBoolean(String name) public static Integer IntegergetInteger(String name) public static Integer IntegergetInteger(String name, int def) public static Long LonggetLong(String nm)

public static Long LonggetLong(String nm, long def)

Метод getBoolean відрізняється від інших тим, що він повертає логічне значення (boolean) замість обєкта класу Boolean Якщо властивість не знайдено, getBoolean передає false

Джерело: Арнольд К, Гослінг Д – Мова програмування 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>

*

*