Javaでシステム情報を取得する際
System.getProperties
を使用すればOSに依存せずにシステム情報を取得することができる。
以下はシステム情報を一覧取得する際のサンプルコードです。
見やすくなるようにキーの昇順にソートし、
フォーマット整形を行ってあります。
※実行環境はWindows7Home(64)
public static void main(String[] args) { // システム情報を取得 Properties systemProperties = System.getProperties(); Set<Object> propertiesSet = systemProperties.keySet(); // TreeSetでkey順にソート TreeSet<Object> propertiesTreeSet = new TreeSet<Object>(propertiesSet); for (Object key: propertiesTreeSet) { // 40文字左詰、区切り文字はパイプでキーを出力 System.out.printf("%-40s|", key); // プロパティを出力 System.out.println(System.getProperty( (String) key) ); } }
結果は以下のように出力されます。
※一部情報は「********」で伏せてあります
awt.toolkit |sun.awt.windows.WToolkit
file.encoding |UTF-8
file.encoding.pkg |sun.io
file.separator |\
java.awt.graphicsenv |sun.awt.Win32GraphicsEnvironment
java.awt.printerjob |sun.awt.windows.WPrinterJob
java.class.path |********
java.class.version |50.0
java.endorsed.dirs |C:\Program Files (x86)\Java\jre6\lib\endorsed
java.ext.dirs |C:\Program Files (x86)\Java\jre6\lib\ext;C:\Windows\Sun\Java\lib\ext
java.home |C:\Program Files (x86)\Java\jre6
java.io.tmpdir |C:\Users\ユーザー名\AppData\Local\Temp\
java.library.path |********
java.runtime.name |Java(TM) SE Runtime Environment
java.runtime.version |1.6.0_29-b11
java.specification.name |Java Platform API Specification
java.specification.vendor |Sun Microsystems Inc.
java.specification.version |1.6
java.vendor |Sun Microsystems Inc.
java.vendor.url |http://java.sun.com/
java.vendor.url.bug |http://java.sun.com/cgi-bin/bugreport.cgi
java.version |1.6.0_29
java.vm.info |mixed mode
java.vm.name |Java HotSpot(TM) Client VM
java.vm.specification.name |Java Virtual Machine Specification
java.vm.specification.vendor |Sun Microsystems Inc.
java.vm.specification.version |1.0
java.vm.vendor |Sun Microsystems Inc.
java.vm.version |20.4-b02
line.separator |os.arch |x86
os.name |Windows 7
os.version |6.1
path.separator |;
sun.arch.data.model |32
sun.boot.class.path |********
sun.boot.library.path |C:\Program Files (x86)\Java\jre6\bin
sun.cpu.endian |little
sun.cpu.isalist |pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
sun.desktop |windows
sun.io.unicode.encoding |UnicodeLittle
sun.java.command |********
sun.java.launcher |SUN_STANDARD
sun.jnu.encoding |MS932
sun.management.compiler |HotSpot Client Compiler
sun.os.patch.level |Service Pack 1
user.country |JP
user.dir |********
user.home |C:\Users\ユーザー名
user.language |ja
user.name |ユーザー名
user.timezone |
user.variant |