java的System.getProperty()方法使用

java给main方法传递参数通常是借助于args[]数组来解决。

代码示例:
package com.alibaba.test;

/**
 * 启动脚本传递参数
 * 
 * @author onlyone 2013-6-14 下午10:02:11
 */
public class ArgsTest {

    public static void main(String[] args) {
        int i=0;
        if(args!=null&args.length>0){
            for(String s:args){
                System.out.println("args["+i+++"]="+s);
            }
        }
    }
}
运行结果:


通过System.getProperty(“propertyName”) 可以获得环境变量设置的值
常用的key值有:

java.version

Java 运行时环境版本

java.vendor

Java 运行时环境供应商

java.vendor.url

Java 供应商的 URL

java.home

Java 安装目录

java.vm.specification.version

Java 虚拟机规范版本

java.vm.specification.vendor

Java 虚拟机规范供应商

java.vm.specification.name

Java 虚拟机规范名称

java.vm.version

Java 虚拟机实现版本

java.vm.vendor

Java 虚拟机实现供应商

java.vm.name

Java 虚拟机实现名称

java.specification.version

Java 运行时环境规范版本

java.specification.vendor

Java 运行时环境规范供应商

java.specification.name

Java 运行时环境规范名称

java.class.version

Java 类格式版本号

java.class.path

Java 类路径

java.library.path

加载库时搜索的路径列表

java.io.tmpdir

默认的临时文件路径

java.compiler

要使用的 JIT 编译器的名称

java.ext.dirs

一个或多个扩展目录的路径

os.name

操作系统的名称

os.arch

操作系统的架构

os.version

操作系统的版本

file.separator

文件分隔符(在 UNIX 系统中是“/”)

path.separator

路径分隔符(在 UNIX 系统中是“:”)

line.separator

行分隔符(在 UNIX 系统中是“/n”)

user.name

用户的账户名称

user.home

用户的主目录

user.dir

用户的当前工作目录



代码示例:
package com.alibaba.test;

import java.io.IOException;

/**
 * 类SystemTest.java的实现描述:TODO 类实现描述
 * 
 * @author onlyone 2013-6-14 下午09:21:11
 */
public class SystemTest {

    public static void main(String[] args) throws IOException {
        String log_file = System.getProperty("user.dir") ;
        System.out.println(log_file);
        System.getProperties().list(System.out);
    }

}

运行结果:
D:\alibaba\application\work\javassist
-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\software\java\jre\bin
java.vm.version=11.0-b15
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=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\alibaba\application\work\javassist
java.runtime.version=1.6.0_10-rc2-b32
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\software\java\jre\lib\endorsed
os.arch=x86
java.io.tmpdir=C:\Users\onlyone\AppData\Local\Temp\
line.separator=

java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows Vista
sun.jnu.encoding=GBK
java.library.path=D:\software\java\bin;.;C:\Windows\Sun...
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot Client Compiler
os.version=6.1
user.home=C:\Users\onlyone
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.6
user.name=onlyone
java.class.path=D:\alibaba\application\work\javassist...
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=D:\software\java\jre
java.specification.vendor=Sun Microsystems Inc.
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.6.0_10-rc2
java.ext.dirs=D:\software\java\jre\lib\ext;C:\Windo...
sun.boot.class.path=D:\software\java\jre\lib\resources.ja...
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...

上面是系统默认的参数。也可以通过  -D 手动来设置参数
package com.alibaba.test;

import java.io.IOException;

/**
 * 类SystemTest.java的实现描述:TODO 类实现描述
 * 
 * @author onlyone 2013-6-14 下午09:21:11
 */
public class SystemTest {

    public static void main(String[] args) throws IOException {
        String log_file = System.getProperty("log_file") ;
        System.out.println(log_file);
    }

}
运行结果:



以上都是通过命令行方式来启动,另外也可以借助于开发工具,如图



发布了141 篇原创文章 · 获赞 530 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/aalansehaiyang52/article/details/9098207