Linguaggio

ProcessBuilder.Environment Metodo

Definizione

Restituisce una visualizzazione mappa stringa dell'ambiente del generatore di processi.

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

Valori restituiti

ambiente del generatore di processi

Attributi

Commenti

Restituisce una visualizzazione mappa stringa dell'ambiente del generatore di processi.

Ogni volta che viene creato un generatore di processi, l'ambiente viene inizializzato in una copia dell'ambiente di processo corrente (vedere System#getenv()). I subprocessi avviati successivamente dal metodo di #start() questo oggetto useranno questa mappa come ambiente.

L'oggetto restituito può essere modificato utilizzando operazioni normali java.util.Map Map . Queste modifiche saranno visibili ai sottoprocessi avviati tramite il #start() metodo . Due ProcessBuilder istanze contengono sempre ambienti di processo indipendenti, quindi le modifiche apportate alla mappa restituita non verranno mai riflesse in nessun'altra ProcessBuilder istanza o i valori restituiti da System#getenv System.getenv.

Se il sistema non supporta le variabili di ambiente, viene restituita una mappa vuota.

La mappa restituita non consente chiavi o valori Null. Se si tenta di inserire o eseguire una query sulla presenza di una chiave o di un valore Null, verrà generata un'eccezione NullPointerException. Il tentativo di eseguire una query sulla presenza di una chiave o di un valore che non è di tipo String genererà un'eccezione ClassCastException.

Il comportamento della mappa restituita dipende dal sistema. Un sistema potrebbe non consentire modifiche alle variabili di ambiente o potrebbe impedire determinati nomi o valori di variabile. Per questo motivo, i tentativi di modificare la mappa potrebbero non riuscire o UnsupportedOperationExceptionIllegalArgumentException se la modifica non è consentita dal sistema operativo.

Poiché il formato esterno dei nomi e dei valori delle variabili di ambiente dipende dal sistema, potrebbe non esserci un mapping uno-a-uno tra di essi e le stringhe Unicode di Java. Tuttavia, la mappa viene implementata in modo tale che le variabili di ambiente che non vengono modificate dal codice Java avranno una rappresentazione nativa non modificata nel sottoprocesso.

La mappa restituita e le relative visualizzazioni della raccolta potrebbero non rispettare il contratto generale dei Object#equals metodi e Object#hashCode .

La mappa restituita fa in genere distinzione tra maiuscole e minuscole in tutte le piattaforme.

Se esiste un gestore di sicurezza, il SecurityManager#checkPermission checkPermission relativo metodo viene chiamato con un'autorizzazione RuntimePermission("getenv.*") . Ciò può comportare un'eccezione SecurityException generata.

Quando si passano informazioni a un Java sottoprocesso, le proprietà di sistema sono in genere preferite rispetto alle variabili di ambiente.

per java.lang.ProcessBuilder.environment().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a