Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Среда Платформы
Раздел: Утилиты Конфигурации
Переменные окружения
Домашняя страница > Существенные Классы > Среда Платформы

Переменные окружения

Много операционных систем используют переменные окружения, чтобы передать конфигурационную информацию к приложениям. Как свойства в платформе Java, переменные окружения являются парами ключ/значение, где и ключ и значение являются строками. Соглашения для установки и использования переменных окружения изменяются между операционными системами, и также между интерпретаторами командной строки. Чтобы изучить, как передать переменные окружения к приложениям на Вашей системе, сошлитесь на свою системную документацию.

Запросы Переменных окружения

На платформе Java приложение использует System.getenv получать значения переменной окружения. Без параметра, getenv возвращает экземпляр только для чтения java.util.Map, где ключи карты являются именами переменной окружения, и значения карты являются значениями переменной окружения. Это демонстрируется в EnvMap пример:


import java.util.Map;

public class EnvMap {
    public static void main (String[] args) {
        Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n",
                              envName,
                              env.get(envName));
        }
    }
}

С a String параметр, getenv возвращает значение указанной переменной. Если переменная не определяется, getenv возвраты null. Env использование в качестве примера getenv этот способ запросить определенные переменные окружения, определенные на командной строке:


public class Env {
    public static void main (String[] args) {
        for (String env: args) {
            String value = System.getenv(env);
            if (value != null) {
                System.out.format("%s=%s%n",
                                  env, value);
            } else {
                System.out.format("%s is"
                    + " not assigned.%n", env);
            }
        }
    }
}

Передача Переменных окружения к Новым Процессам

Когда приложение Java использует a ProcessBuilder объект создать новый процесс, набор значения по умолчанию переменных окружения, которые передают к новому процессу, является тем же самым набором, обеспеченным для процесса виртуальной машины приложения. Приложение может изменить это использование набора ProcessBuilder.environment.

Проблемы Зависимости от платформы

Есть много тонких различий между способом, которым переменные окружения реализуются на различных системах. Например, Windows игнорирует регистр на имена переменной окружения, в то время как UNIX не делает. Путем переменные окружения используются, также изменяется. Например, Windows обеспечивает имя пользователя в вызванной переменной окружения USERNAME, в то время как реализации UNIX могли бы обеспечить имя пользователя в USER, LOGNAME, или оба.

Чтобы максимизировать мобильность, никогда не обращайтесь к переменной окружения, когда то же самое значение доступно в системном свойстве. Например, если операционная система обеспечит имя пользователя, то это всегда будет доступно в системном свойстве user.name.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: параметры командной строки
Следующая страница: Другие Утилиты Конфигурации