菜单

以易于阅读的格式输出 Java 系统属性。

目录

Java 系统属性按字母顺序输出 System.getProperties()

Java系统属性该示例程序按字母顺序输出文件的键和值,以便于查看。
数据首先存储在 TreeMap 中,然后按字母顺序排序,最后输出。

以下方法虽然被普遍推荐,但数值会被截断,而且没有按字母顺序排列,因此很难阅读。

Properties props = System.getProperties();
props.list(System.out);
-- 列出属性 -- java.runtime.name=Java(TM) 2 运行时环境,标准... 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=混合模式,共享 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平台API规范 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=混合模式,共享 java.vm.name=Java HotSpot(TM)客户端虚拟机 java.vm.specification.name=Java虚拟机规范 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 系统属性,以便于查看。通常的输出方法难以阅读,因为信息会被截断或顺序打乱。树状图通过这种方法对属性进行排序和输出,可以更轻松地理解属性值。文中提供了一个具体的示例程序,为 Java 程序员提供了一种高效检查系统属性的方法。

对于掌握Java编程技能的人来说,自由职业项目是绝佳的选择。这是因为Java广泛应用于核心业务系统和Web应用程序的开发,因此市场需求量很大。通过从事Java自由职业,您不仅可以增加收入,还可以提升技能并掌握新技术。

  • URLをコピーしました!
目录