Java中获取系统属性的方法

System.getProperties().getProperty( "user.language ")
取得系统的语言,发现用java和javaw运行结果不一样:
java跑出来的是jp;
javaw跑出来的是zh。
查看这两个属性在看看
user.region=CN
file.encoding=GBK

用java跑结果是:
user.region=JP
file.encoding=MS932
用javaw跑结果是:
user.region=CN
file.encoding=GBK
就是jre和jdk的区别
javaw是jre中的

要获取系统属性,java提供了System类,该类位于java.lang包中。System类它不能被实例化,其中的方法全部为静态方法。

要获取系统属性,System类中提供了getProperty方法。先看我写的一个简单例子,然后再做具体解释。代码如下:

class GetProps
{
public static void main(String[] args)
{
String s;
try
{
//获得系统名称
s = System.getProperty("os.name", "未定义");
System.out.println("当前操作系统是: " s);
//获得JVM版本
s = System.getProperty("java.version", "未定义");
System.out.println("当前java虚拟机版本是: " s);
//获得用户缺省路径
s = System.getProperty("user.home", "未定义");
System.out.println("当前用户主目录: " s);
//获得JVM缺省路径
s = System.getProperty("java.home", "未定义");
System.out.println("JRE安装目录是: " s);
}
catch(SecurityException se)
{
se.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

编译运行结果如下:

E:\gongcheng>javac GetProps.java

E:\gongcheng>java GetProps
当前操作系统是: Windows XP
当前java虚拟机版本是: 1.5.0_03
当前用户主目录: C:\Documents and Settings\zhaopeixin
JRE安装目录是: C:\Java\jdk1.5.0_03\jre

运行结果没有任何错误,因为这个例子实在是太简单了,几乎不需要多解释。其中getProperty方法的解释如下(API中都有,我只负责copy过来):

参数:
key - 系统属性的名称。
def - 默认值。
返回:
系统属性的字符串值,假如没有带有此键的属性,则返回默认值。
另外,我怎么知道第一个参数key是什么呢?不要担心,这个在API中都有,如下表:

键 相关值的描述
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 用户的当前工作目录

你可能感兴趣的:(Java中获取系统属性的方法)