Diferença entre Java System.getProperty e System.getenv?

Diferenca Entre Java System Getproperty E System Getenv



O ' System.getProperty() ” recupera as propriedades específicas do sistema correspondentes ao tempo de execução Java ou à configuração do sistema. Oferece informações sobre o ambiente Java e os sistemas operacionais do sistema no qual está sendo executado. Por outro lado, o “ System.getenv() ” acessa as variáveis ​​de ambiente específicas definidas no ambiente do sistema operacional. Ele contém informações dinâmicas sobre o sistema e a sessão atual do usuário.

Este blog explica a diferença entre os métodos Java System.getProperty() e System.getenv().

O que é o método System.getProperty() em Java?

O ' System.getProperty() ” retorna o valor associado à propriedade do sistema fornecida. Consiste em um “ valor chave ” pair, conforme definido pelo administrador do sistema ou nos arquivos de configuração. A propriedade pode ser definida com a ajuda do botão “ -D ” ou se a propriedade não for encontrada, o “ nulo ” é retornado. As propriedades do sistema padrão ou mais utilizadas, juntamente com sua descrição, são descritas neste link .







Algumas das propriedades do sistema são utilizadas no trecho de código abaixo:



Algumas das propriedades do sistema são utilizadas no trecho de código abaixo:



aula pai {
//Inicializando o método do driver
público estático vazio principal ( Corda [ ] argumentos ) {
Corda nome de usuário = Sistema. obterPropriedade ( 'nome de usuário' ) ;
Sistema. fora . println ( 'Nome de usuário usando a propriedade do sistema: ' + nome de usuário ) ;

Corda classPath = Sistema. obterPropriedade ( 'java.class.path' ) ;
Sistema. fora . println ( 'O caminho da classe atual do diretório raiz: ' + classPath ) ;

Sistema. fora . println ( 'Propriedade errada é usada: ' + Sistema. obterPropriedade ( 'lar' ) ) ;

Sistema. fora . println ( 'Informações da versão do JRE:' + Sistema. obterPropriedade ( 'java.runtime.version' ) ) ;
Sistema. fora . println ( 'A arquitetura do SO do sistema atual: ' + Sistema. obterPropriedade ( 'os.arch' ) ) ;
}
}

Descrição do código acima:





  • Primeiro, o verdadeiro proprietário ou usuário do sistema é recuperado passando o “ nome de usuário ” propriedade no “ System.getProperty() ” método.
  • Em seguida, a propriedade “ java.class.path ” é passado para o “ System.getProperty() ” para recuperar o caminho da classe atual do diretório raiz.
  • Então, a falsa propriedade de “ lar ” é passado,
  • O ' System.getProperty() ” o método exibirá “ nulo ” indicando que a propriedade não existe.
  • Da mesma forma, a versão do Java Runtime e a arquitetura do sistema estão sendo recuperadas passando o parâmetro “ java.runtime.version ' e ' os.arch ”, respectivamente.

A saída mostra que os valores necessários para as propriedades do sistema foram recuperados com a ajuda do método “System.getProperty()”.



O que é o método System.getenv() em Java?

O ' System.getenv() ” retorna o valor correspondente para a variável de ambiente especificada. Os valores retornados são dinâmicos e conforme são definidos pelo sistema operacional do sistema ou pelo usuário para a sessão atual. Como o método “System.getProperty()” se a variável não for encontrada ou não contiver nenhum valor, o “ nulo ” é retornado.

Por exemplo, visite o código abaixo:

aula classeraiz {
//Inicializando o método do driver
público estático vazio principal ( Corda [ ] argumentos ) {
Sistema. fora . println ( 'Recuperação de valores usando o método System.getenv()' ) ;

Corda caminhotemporário = Sistema. tenv ( 'TEMP' ) ;
Sistema. fora . println ( 'O caminho para a pasta de arquivos temporários é: ' + caminhotemporário ) ;

Corda sistema operacional = Sistema. tenv ( 'NUMBER_OF_PROCESSORES' ) ;
Sistema. fora . println ( 'O sistema de número de processadores contém: ' + sistema operacional ) ;

Corda WindowsDirectory = Sistema. tenv ( 'windir' ) ;
Sistema. fora . println ( 'Exibindo o caminho raiz do sistema -' + WindowsDirectory ) ;
}
}

Explicação do bloco de código acima:

  • Primeiro, a classe é criada com o nome “ classeraiz ' e a ' System.getenv() ” método é usado para retornar o caminho da pasta temporária passando o “ TEMP ” como um valor.
  • Em seguida, o número de processadores e o diretório do Windows para o sistema são recuperados passando “ NUMBER_OF_PROCESSORS ' e ' windir ” para o método “System.getenv()”, respectivamente.

Após a compilação:

A saída confirma que os valores de variáveis ​​de ambiente necessários foram recuperados.

Diferença entre Java System.getProperty e System.getenv

A diferença entre os métodos System.getProperty() e System.getenv() está descrita abaixo na tabela:

Prazo System.getProperty() System.getenv()
Propósito Ele é usado para recuperar propriedades do sistema específicas para a JVM. Ele é usado para recuperar variáveis ​​de ambiente específicas para o ambiente do sistema operacional.
Fonte As propriedades do sistema geralmente são definidas como argumentos de linha de comando. As variáveis ​​de ambiente são definidas no ambiente do sistema operacional.
Acesso Ele pode recuperar propriedades do sistema e variáveis ​​de ambiente. Ele só pode recuperar variáveis ​​de ambiente e requer chaves específicas para a variável.
Uso É comumente utilizado para recuperar informações sobre a JVM, como a versão do Java. É comumente usado para acessar configurações específicas do ambiente ou informações confidenciais.
Portabilidade É independente de plataforma e pode ser acessado de forma consistente em diferentes sistemas operacionais. As variáveis ​​podem variar entre diferentes sistemas operacionais e podem ter comportamentos diferentes.

Conclusão

O ' System.getProperty() ” tem acesso às propriedades específicas do Java e à configuração do sistema. O ' System.getenv() ” acessa variáveis ​​de ambiente definidas no sistema operacional. No entanto, ambos são adequados para retornar informações relacionadas ao sistema. Além disso, eles têm propósitos semelhantes para recuperar informações sobre o ambiente do sistema, mas operam em diferentes conjuntos de dados.