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.