Язык

ProcessBuilder.Environment Метод

Определение

Возвращает представление схемы строк для среды построителя процессов.

[Android.Runtime.Register("environment", "()Ljava/util/Map;", "")]
public System.Collections.Generic.IDictionary<string,string>? Environment();
[<Android.Runtime.Register("environment", "()Ljava/util/Map;", "")>]
member this.Environment : unit -> System.Collections.Generic.IDictionary<string, string>

Возвращаемое значение

Среда построителя процессов

Атрибуты

Комментарии

Возвращает представление схемы строк для среды построителя процессов.

При создании построителя процессов среда инициализируется в копию текущей среды процесса (см. раздел System#getenv()). Последующие подпроцессы, запущенные методом этого объекта #start() , будут использовать эту карту в качестве среды.

Возвращаемый объект можно изменить с помощью обычных java.util.Map Map операций. Эти изменения будут видимы для подпроцессов, запущенных с помощью #start() метода. Два ProcessBuilder экземпляра всегда содержат независимые среды обработки, поэтому изменения в возвращаемой карте никогда не будут отражены в любом другом ProcessBuilder экземпляре или значениях, возвращаемых System#getenv System.getenv.

Если система не поддерживает переменные среды, возвращается пустая карта.

Возвращаемая карта не разрешает пустые ключи или значения. Попытка вставки или запроса наличия ключа или значения NULL вызывает исключение NullPointerException. Попытка запросить наличие ключа или значения, не являющегося типом String , вызовет ClassCastExceptionисключение.

Поведение возвращаемой карты зависит от системы. Система может не разрешать изменения переменных среды или запрещать определенные имена или значения переменных. По этой причине попытки изменить карту могут завершиться ошибкой UnsupportedOperationException или IllegalArgumentException если изменение не разрешено операционной системой.

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

Возвращаемая карта и представления коллекции могут не соответствовать общему контракту Object#equals методов и Object#hashCode методов.

Возвращаемая карта обычно учитывает регистр на всех платформах.

Если диспетчер безопасности существует, его SecurityManager#checkPermission checkPermission метод вызывается с разрешением RuntimePermission("getenv.*") . Это может привести к возникновению SecurityException ошибки.

При передаче информации в подпроцесс Java свойства системы обычно предпочтительнее переменных среды.

Java документации по java.lang.ProcessBuilder.environment().

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к