Obtendo Informações do Sistema - Java

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

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:

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:

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:\WindowsSun\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.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados