Variaveis de ambiente

Alguém poderia me dizer como pegar o valor de uma variavel do ambiente. Como, por exemplo, pegar o valor de %temp% e mandar o valor dessa variavel de ambiente para uma String que teria o valor
“C:\windows\temp”

E de quebra alguém pode me dizer qual o método do JButton que o torna default, ou seja, qual for pressionado o enter em qualquer parte do JFrame o botão deve ser acionado.

String temporario = System.getProperty("temp");

[quote=efren_lopes]Alguém poderia me dizer como pegar o valor de uma variavel do ambiente. Como, por exemplo, pegar o valor de %temp% e mandar o valor dessa variavel de ambiente para uma String que teria o valor
“C:\windows\temp”
[/quote]

Pegar variáveis de ambiente é uma prática complicada no Java < 5. Você deve passar os valroes da variável de ambiente como parâmetros quandoinicializar seu programa e utilizar a técnica que o colega descreveu acima.

No java 5.0, você pode (voltar a ) usar System.getEnv().

[quote=efren_lopes]
E de quebra alguém pode me dizer qual o método do JButton que o torna default, ou seja, qual for pressionado o enter em qualquer parte do JFrame o botão deve ser acionado.[/quote]

A Codumentação da API pode :wink:

[]s

Você pode ver que algumas das variáveis de ambiente são mapeadas para “system properties” que podem ser obtidas via System.getProperty.

Por exemplo, para a variável TEMP (Windows; no Unix o diretório temporário é normalmente fixo e tem o nome /tmp):

java.io.tmpdir = C:\DOCUME~1\Thingol\LOCALS~1\Temp\

De qualquer forma, se você quer criar um arquivo temporário, existe um método createTempFile em java.io.File. (Embora ele mencione também o método “deleteOnExit” ele não é muito confiável.)

Se você quiser todas, precisa usar JDK 5.0; mas neste caso seu sistema pode acabar ficando dependente do sistema operacional (por exemplo, no Linux não existe a variável TMP ou TEMP) ( e é por isso que removeram essa funcionalidade no JDK 1.2 - só depois de muitos votos no RFE (Request for Enhancement) é que puseram o método getenv de volta. )