Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

システム情報の取得

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 |