Obtendo Informações do Sistema - Java

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Neste artigo iremos abordar como recuperar algumas informações do sistema pela classe java.util.Properties;

Obtendo informações do Sistema

Neste artigo iremos abordar como recuperar algumas informações do sistema pela classe java.util.Properties;

A quem se destina?

Programadores, Analistas, Suporte de Sistemas, Estudiosos da área e envolvidos em sistemas;

Monitoração

Assim como em outro artigo mostrei-lhes como monitores de forma reativa sistemas e links hospedados em um servidor, continuo nessa linha de monitoramento e recuperação de informações valiosas no nosso dia-a-dia.

Assim como é importante termos informações sobre variáveis de sistema, dados sobre o S.O instalado e versões da nossa JVM (Java Virtual Machine), sendo portanto a motivação tal para a escrita desse artigo.

Para tal crie uma aplicação Java, Swing, nesse exemplo uso o NetBeans e desenho a interface com descrito na figura abaixo:

Desenho a interface
Figura 1

Para cada botão crio uma annotation (para saber sobre Java annotation) e seu código corresponde, vide o código abaixo:


package swingjava_2;

import java.util.Properties;
import org.jdesktop.application.Action;

/**
 *
 * @author mazzi

    @Action
    public void btnclick() {
       jTextField1.setText(getOS());       
    }

    @Action
    public void btnUserClick() {
        jTextField1.setText(getUser());
    }

    @Action
    public void btnJavaVersionClick() {
        jTextField1.setText(getJavaInfo());
        
    }

    @Action
    public void btnListClick() {
       jTextField1.setText(getPropertiesSystem());
    }

    
    public String getOS(){
        String osName = System.getProperty("os.name");
        String osVersion= System.getProperty("os.version");        
        return " Instalado.:"+osName+" Versão.:"+osVersion;       
    }
    
    public String getJavaInfo(){
        String javaI  = System.getProperty("java.version");
        String javaRe = System.getProperty("java.runtime.version");
        return "Java Version is.:" + javaI + " and Runtime Version is.:"+ javaRe;
      
    }
    
    
    public String getUser(){
        String osUser = System.getProperty("user.name");
        String osHome = System.getProperty("user.home");
        return "User.:"+osUser+" Diretório Padrão.:"+osHome;
    
    }
    
    
    public String getPropertiesSystem(){
        Properties p = System.getProperties();
        
        return p.toString();
    
    }

Para informações gerais sobre as informações java segue a tabela abaixo:

Tabela Java
Figura 2

Agora através do nosso método, getPropertiesSystem (mostro de novo abaixo)...

    public String getPropertiesSystem(){
        Properties p = System.getProperties();
        
        return p.toString();
    
    }

Temos a seguinte saída (String), que é TODA a leitura possível através da classe Properties, porém aqui demonstro numa única string.

{java.runtime.name=Java(TM) SE Runtime Environment,
 sun.boot.library.path=C:\Program Files (x86)\Java\jdk1.6.0_13\jre\bin, 
java.vm.version=11.3-b02, 
java.vm.vendor=Sun Microsystems Inc., 
java.vendor.url=http://java.sun.com/, 
path.separator=;, 
java.vm.name=Java HotSpot(TM) Client VM, 
file.encoding.pkg=sun.io, 
sun.java.launcher=SUN_STANDARD, 
user.country=BR, 
sun.os.patch.level=,
java.vm.specification.name=Java Virtual Machine Specification, 
user.dir=C:\Web2\SwingJava_2,
java.runtime.version=1.6.0_13-b03,
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment,
java.endorsed.dirs=C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\endorsed,
os.arch=x86,
 java.io.tmpdir=C:\Users\mazzi\AppData\Local\Temp\,
 line.separator= ,
 java.vm.specification.vendor=Sun Microsystems Inc.,
 user.variant=,
 os.name=Windows Vista,
 sun.jnu.encoding=Cp1252,
 java.library.path=C:\Program Files (x86)\Java\jdk1.6.0_13\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\PC Connectivity Solution\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files 
(x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Borland\Delphi7\Bin;C:\Program Files (x86)\Borland\Delphi7\Projects\Bpl\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Live\Shared;"C:\Program Files (x86)\Symantec\Norton Ghost 2003\";C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:
\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;%PROGRAMFILES%\Internet Explorer;C:\Users\mazzi\AppData\Local\Smartbar\Application\;7,

 java.specification.name=Java Platform API Specification,
 java.class.version=50.0,
 sun.management.compiler=HotSpot Client Compiler,
 os.version=6.1,
 user.home=C:\Users\mazzi,
 user.timezone=,
 java.awt.printerjob=sun.awt.windows.WPrinterJob,
 file.encoding=UTF-8,
 java.specification.version=1.6,
 java.class.path=C:\Program Files\NetBeans 7.0.1\java\modules\ext\appframework-1.0.3.jar;C:\Program Files\NetBeans 7.0.1\java\modules\ext\swing-worker-1.1.jar;C:\Web2\SwingJava_2\build\classes;C:\Web2\SwingJava_2\src,
 user.name=mazzi,
 java.vm.specification.version=1.0,
 java.home=C:\Program Files (x86)\Java\jdk1.6.0_13\jre,
 sun.arch.data.model=32,
 user.language=pt,
 java.specification.vendor=Sun Microsystems Inc.,
 awt.toolkit=sun.awt.windows.WToolkit,
 java.vm.info=mixed mode, sharing, 
 java.version=1.6.0_13,
 java.ext.dirs=C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\ext;C:\Windows\Sun\Java\lib\ext, 
 sun.boot.class.path=C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\rt.jar;C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\jsse.jar;C:
\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.6.0_13\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.6.0_13\jre\classes, 
java.vendor=Sun Microsystems Inc., 
file.separator=\,
 java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, 
sun.io.unicode.encoding=UnicodeLittle, 
sun.cpu.endian=little,
 sun.desktop=windows, 
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86}

Todas as informações dadas entre as "," (vírgulas) Ex: "java.vendor", fazem parte da list de propriedades que podemos obter alguma informação relevante. Sendo assim se você quiser uma única informação é só usar o getProperty ( ____ ) e o item que você deseja , quer seja da tabela, ou dessa lista geral e também se quiser ver TUDO então é só criar um objeto do tipo Propertie e listá-lo de preferência em um arquivo ou listado apenas na tela.

Espero que tenha ajudado. Abraços++

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?