Share via


ProcessBuilder.Environment Método

Definición

Devuelve una vista de mapa de cadenas del entorno de este generador de procesos.

[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>

Devoluciones

Entorno de este generador de procesos

Atributos

Comentarios

Devuelve una vista de mapa de cadenas del entorno de este generador de procesos.

Cada vez que se crea un generador de procesos, el entorno se inicializa en una copia del entorno de proceso actual (consulte System#getenv()). Los subprocesos iniciados posteriormente por el método de #start() este objeto usarán este mapa como su entorno.

El objeto devuelto se puede modificar mediante operaciones normales java.util.Map Map . Estas modificaciones serán visibles para los subprocesos iniciados a través del #start() método . Dos ProcessBuilder instancias siempre contienen entornos de proceso independientes, por lo que los cambios en el mapa devuelto nunca se reflejarán en ninguna otra ProcessBuilder instancia o los valores devueltos por System#getenv System.getenv.

Si el sistema no admite variables de entorno, se devuelve un mapa vacío.

La asignación devuelta no permite claves o valores NULL. Al intentar insertar o consultar la presencia de una clave o valor NULL, se producirá un NullPointerException. Si se intenta consultar la presencia de una clave o un valor que no es de tipo String , se producirá una ClassCastExceptionexcepción .

El comportamiento del mapa devuelto depende del sistema. Un sistema puede no permitir modificaciones en variables de entorno o puede prohibir determinados nombres o valores de variable. Por este motivo, los intentos de modificar el mapa pueden producir un error o UnsupportedOperationExceptionIllegalArgumentException si el sistema operativo no permite la modificación.

Dado que el formato externo de los nombres y valores de las variables de entorno depende del sistema, puede que no haya una asignación uno a uno entre ellas y las cadenas Unicode de Java. Sin embargo, el mapa se implementa de forma que las variables de entorno que no modifica el código java tengan una representación nativa sin modificar en el subproceso.

Es posible que el mapa devuelto y sus vistas de colección no obedezcan el contrato general de los Object#equals métodos y Object#hashCode .

Normalmente, el mapa devuelto distingue mayúsculas de minúsculas en todas las plataformas.

Si existe un administrador de seguridad, se llama a su SecurityManager#checkPermission checkPermission método con un RuntimePermission("getenv.*") permiso. Esto puede dar lugar a que se produzca una SecurityException excepción .

Al pasar información a un subproceso de Java, las propiedades del sistema suelen preferirse sobre las variables de entorno.

Documentación de Java para java.lang.ProcessBuilder.environment().

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Se aplica a