目次
Java システムプロパティをアルファベット順に出力 System.getProperties()
Javaでシステムプロパティのキーと値をアルファベット順に見やすく出力するサンプルプログラムを紹介します。
一旦、TreeMapに格納する事により、アルファベット順に並び替えてから出力しています。
通常は以下の方法が良く紹介されていますが、値は途中で途切れていますし、アルファベット順に並んでいないため非常に見づらいですね。
Properties props = System.getProperties();
props.list(System.out);
props.list(System.out);
-- listing properties -- java.runtime.name=Java(TM) 2 Runtime Environment, Stand... sun.boot.library.path=C:\develop\Java\jdk1.5.0_08\jre\bin java.vm.version=1.5.0_08-b03 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 user.country=JP sun.os.patch.level=Service Pack 2 java.vm.specification.name=Java Virtual Machine Specification user.dir=C:\apps\0-app java.runtime.version=1.5.0_08-b03 java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.endorsed.dirs=C:\develop\Java\jdk1.5.0_08\jre\lib\e... os.arch=x86 java.io.tmpdir=C:\DOCUME~1\***\LOCALS~1\Temp\ line.separator= java.vm.specification.vendor=Sun Microsystems Inc. user.variant= os.name=Windows XP sun.jnu.encoding=MS932 java.library.path=C:\develop\Java\jdk1.5.0_08\bin;.;C:\... java.specification.name=Java Platform API Specification java.class.version=49.0 sun.management.compiler=HotSpot Client Compiler os.version=5.1 user.home=C:\Documents and Settings\**** user.timezone= java.awt.printerjob=sun.awt.windows.WPrinterJob file.encoding=MS932 java.specification.version=1.5 user.name=**** java.class.path=C:\apps\0-app\bin;C:\apps\0-app\jre1.... java.vm.specification.version=1.0 sun.arch.data.model=32 java.home=C:\develop\Java\jdk1.5.0_08\jre java.specification.vendor=Sun Microsystems Inc. user.language=ja awt.toolkit=sun.awt.windows.WToolkit java.vm.info=mixed mode, sharing java.version=1.5.0_08 java.ext.dirs=C:\develop\Java\jdk1.5.0_08\jre\lib\ext sun.boot.class.path=C:\develop\Java\jdk1.5.0_08\jre\lib\r... java.vendor=Sun Microsystems Inc. file.separator=\ java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport... sun.cpu.endian=little sun.io.unicode.encoding=UnicodeLittle sun.desktop=windows sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+m...
サンプルプログラム
/** * システムプロパティのキーと値をアルファベット順に出力します。 */ public static void outputSystemProperties() { Properties p = System.getProperties(); TreeMap map = new TreeMap(); map.putAll(p); Iterator itr = map.keySet().iterator(); while (itr.hasNext()) { String key = (String)itr.next(); String value = (String)map.get(key); System.out.println(key + "=" + value); } }
実行結果
◆実行例
public static void main(String[] args) { outputSystemProperties(); }
◆出力結果
awt.toolkit=sun.awt.windows.WToolkit file.encoding=MS932 file.encoding.pkg=sun.io file.separator=\ java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.awt.printerjob=sun.awt.windows.WPrinterJob java.class.path=C:\apps\0-app\bin;C:\apps\0-app\jre1.6.0\lib\rt.jar;C:\apps\0-app\sys\lib\bcprov-jdk14-123.jar java.class.version=49.0 java.endorsed.dirs=C:\develop\Java\jdk1.5.0_08\jre\lib\endorsed java.ext.dirs=C:\develop\Java\jdk1.5.0_08\jre\lib\ext java.home=C:\develop\Java\jdk1.5.0_08\jre java.io.tmpdir=C:\DOCUME~1\***\LOCALS~1\Temp\ java.library.path=C:\develop\Java\jdk1.5.0_08\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\develop\Java\jdk1.5.0_08\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\ProgramFilesDevelop\TOOLS\ant-1.6.1\bin;C:\develop\eclipse32\extensions\tptp-4.2.0\agent-controller\\bin;C:\Program Files\QuickTime\QTSystem\ java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition java.runtime.version=1.5.0_08-b03 java.specification.name=Java Platform API Specification java.specification.vendor=Sun Microsystems Inc. java.specification.version=1.5 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.5.0_08 java.vm.info=mixed mode, sharing 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=1.5.0_08-b03 line.separator= os.arch=x86 os.name=Windows XP os.version=5.1 path.separator=; sun.arch.data.model=32 sun.boot.class.path=C:\develop\Java\jdk1.5.0_08\jre\lib\rt.jar;C:\develop\Java\jdk1.5.0_08\jre\lib\i18n.jar;C:\develop\Java\jdk1.5.0_08\jre\lib\sunrsasign.jar;C:\develop\Java\jdk1.5.0_08\jre\lib\jsse.jar;C:\develop\Java\jdk1.5.0_08\jre\lib\jce.jar;C:\develop\Java\jdk1.5.0_08\jre\lib\charsets.jar;C:\develop\Java\jdk1.5.0_08\jre\classes sun.boot.library.path=C:\develop\Java\jdk1.5.0_08\jre\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.jnu.encoding=MS932 sun.management.compiler=HotSpot Client Compiler sun.os.patch.level=Service Pack 2 user.country=JP user.dir=C:\apps\0-app user.home=C:\Documents and Settings\*** user.language=ja user.name=*** user.timezone= user.variant=
全ての情報がアルファベット順に表示されていますね。
特にjava.class.pathやjava.library.path等は全て表示されていないと、問題解決に時間がかかりますからね。
java.class.path=C:\apps\0-app\bin;C:\apps\0-app\jre1….
↓
java.class.path=C:\apps\0-app\bin;C:\apps\0-app\jre1.6.0\lib\rt.jar;C:\apps\0-app\sys\lib\bcprov-jdk14-123.jar
↓
java.class.path=C:\apps\0-app\bin;C:\apps\0-app\jre1.6.0\lib\rt.jar;C:\apps\0-app\sys\lib\bcprov-jdk14-123.jar
まとめ
この記事では、Javaのシステムプロパティをアルファベット順に整理して見やすく出力する方法について説明しています。通常のプロパティ出力方法では、情報が途中で途切れたり順不同で表示されるため見づらいですが、TreeMap
を利用してプロパティをソートし出力することで、より分かりやすくなります。具体的なサンプルプログラムが紹介されており、Javaプログラマーがシステムプロパティを効率よく確認できる方法を提供しています。
Javaプログラマーとしてのスキルを持つ方には、副業案件が非常にお勧めです。なぜなら、Javaは企業の基幹システムやWebアプリケーションの開発に広く使用されており、需要が高いためです。副業としてJavaを活かすことで、収入を増やすだけでなく、スキルアップや新しい技術の習得も可能です。
プログラミングの副業で稼ぐための手順と副業サイト5選【案件例あり】
「プログラミングの副 …