System.getProperty(String nm)Integer.getInteger(String nm)这两个方法都返回的系统属性的值,传入的参数是系统属性的名称。小弟我不知道这里的系统属性是什么?我拿系统变量“java_home”试了下第一个方法,返回的是null。我又拿系统变量“PROCESSOR_LEVEL”(值是15)试了下第二个方法,返回也是null。那么所说的系统属性到底是什么呢?哪位大虾能解释一下,最好能给一个简单例子?谢谢

解决方案 »

  1.   

    把 java_home 换成 java.home,就会得到一些东西的。
      

  2.   

    除了 java.home 返回了JVM安装路径,输入其他系统变量名称,返回仍然为null。这是为什么呢?
      

  3.   

    你所说的“其他系统变量名称”是些什么呢?在其的系统里,有下列系统属性:java.runtime.name
    sun.boot.library.path
    java.vm.version
    java.vm.vendor
    java.vendor.url
    path.separator
    java.vm.name
    file.encoding.pkg
    user.country
    sun.os.patch.level
    java.vm.specification.name
    user.dir
    java.runtime.version
    java.awt.graphicsenv
    java.endorsed.dirs
    os.arch
    java.io.tmpdir
    line.separator
    java.vm.specification.vendor
    user.variant
    os.name
    sun.jnu.encoding
    java.library.path
    java.specification.name
    java.class.version
    sun.management.compiler
    os.version
    user.home
    java.security.policy
    user.timezone
    java.awt.printerjob
    file.encoding
    java.specification.version
    java.class.path
    user.name
    java.vm.specification.version
    java.home
    sun.arch.data.model
    user.language
    java.specification.vendor
    awt.toolkit
    java.vm.info
    java.version
    java.ext.dirs
    sun.boot.class.path
    java.vendor
    file.separator
    java.vendor.url.bug
    sun.io.unicode.encoding
    sun.cpu.endian
    sun.desktop
    sun.cpu.isalist
      

  4.   

    java.runtime.name
    sun.boot.library.path
    java.vm.version
    java.vm.vendor
    java.vendor.url
    path.separator
    java.vm.name
    file.encoding.pkg
    user.country
    sun.os.patch.level
    java.vm.specification.name
    user.dir
    java.runtime.version
    java.awt.graphicsenv
    java.endorsed.dirs
    os.arch
    java.io.tmpdir
    line.separator
    java.vm.specification.vendor
    user.variant
    os.name
    sun.jnu.encoding
    java.library.path
    java.specification.name
    java.class.version
    sun.management.compiler
    os.version
    user.home
    user.timezone
    java.awt.printerjob
    file.encoding
    java.specification.version
    java.class.path
    user.name
    java.vm.specification.version
    java.home
    sun.arch.data.model
    user.language
    java.specification.vendor
    awt.toolkit
    java.vm.info
    java.version
    java.ext.dirs
    sun.boot.class.path
    java.vendor
    file.separator
    java.vendor.url.bug
    sun.io.unicode.encoding
    sun.cpu.endian
    sun.desktop
    sun.cpu.isalist
      

  5.   

    我试的都是windows系统--》环境变量--》系统变量那里的系统变量不行吗?
      

  6.   

    但是,我用windows系统--》环境变量--》系统变量里面的“classpath”试了就返回null。
      

  7.   

    再来个大虾解释解释呀。。用上面两位老兄列出的系统属性确实可以获得非空返回。但是,使用windows系统--》环境变量--》系统变量为什么就不能获得返回了呢?zzhzzh204553(真的好想你) 老兄 你说可以的,出来解释一下啊。
      

  8.   

    学习~CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com
      

  9.   

    楼主问题中所谓“系统属性”,并不是指“操作系统的环境变量”,而是指 JVM 运行时的一些属性,可以理解为“JVM 的环境变量”。要想看看都有哪些,可以这样:    System.getProperties().list(System.out);
      

  10.   

    补充两点:1. 如果你想得到“操作系统的环境变量”的话,可以用 System.getenv()2. 如果你想在启动某个 java 程序的时候设置特定的“JVM 的环境变量”,可以这样:
        java -Dmy.prop=the_value ....
      (请参考 java 的命令行参数说明关于 -D 的解释)