Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GoslingJava2.doc
Скачиваний:
139
Добавлен:
23.02.2016
Размер:
2.39 Mб
Скачать

14.3. Системные свойства

Существует ряд системных свойств, которые хранятся внутри класса System в виде объекта класса Properties. Они определяют системное окружение и используются классами, которым необходима соответствующая информация. Например, приведем распечатку свойств одной системы:

#System properties

#Tue Feb 27 19:45:22 EST 1996

java.home=/lab/east/tools/java/java

java.version=1.0.1

file.separator=/

line.separator=\n

java.vendor=Sun Microsystem Inc.

user.name=arnold

os.arch=sparc

os.name=Solaris

java.vendor.url=http://www.sun.com/

user.dir=/vob/java_prog/src

java.class.path=.:./classes:/home/arnold/java/lib/

classes.zip:/home/arnold/java/classes

java.class.version=45.3

os.version=2.x

path.separator=:

user.home=/home/arnold

Все перечисленные выше свойства определены во всех системах, хотя их значения, конечно же, меняются. Некоторые из них применяются стандартными пакетами Java. Например, класс File использует свойство file.separator для построения и анализа путей к файлам. Программисты тоже могут задействовать эти свойства. Следующий метод ищет файл конфигурации в личной папке пользователя:

public static File personalConfig(String fileName) {

String home = System.getPropety("user.home");

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. Эквивалентно

System.getProperties().getProperty(key);

public static String getProperty(String key,

String defaultValue)

Возвращает текущее значение системного свойства, заданного в виде строки key. Если оно не определено, возвращается defaultValue. Эквивалентно

System.getProperties().getProperty(key, def);

Значения свойств хранятся в виде строк, однако некоторые строки представляют другие типы— например, целые или логические. Существуют специальные методы, которые являются статическими методами соответствующих классов-оболочек, для чтения свойств и преобразования их в значения примитивных типов. Каждый из таких методов получает строковый параметр с именем свойства, интересующего программиста. Некоторые методы имеют и второй параметр (обозначенный ниже как def) со значением по умолчанию, которое возвращается в том случае, если свойство с данным именем не найдено. Методы, в которых этот параметр отсутствует, в этом случае возвращают объект, содержащий 0 для числового типа или false— для логического. Все эти методы преобразуют значения в стандартный для Java формат примитивного типа.

public static boolean Boolean.getBoolean(String name)

public static Integer Integer.getInteger(String name)

public static Integer Integer.getInteger(String name, int def)

public static Long Long.getLong(String nm)

public static Long Long.getLong(String nm, long def)

Метод getBoolean отличается от других тем, что он возвращает логическое значение (boolean) вместо объекта класса Boolean. Если свойство не найдено, getBoolean передает false.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]