System.getenv() 与System.getProperty()用法区别

一、[b]java System.getenv()[/b] 与[b]System.getProperty()[/b]用法区别

System.getenv()可以得到系统的所有环境变量
System.getenv(key)可得到系统的某个环境变量

Map map = System.getenv();
Iterator envIt = map.entrySet().iterator();
while(envIt.hasNext())
{
Entry entry = (Entry)envIt.next();
System.out.println(entry.getKey() + " = " + entry.getValue());
}

// 可获取所有环境变量的路径
String java_home = System.getenv("JAVA_HOME");
System.out.println("java_home = " + java_home);


而System.getProperty可以获取系统变量
System.getProperties()获取所有的系统变量
System.getProperty(key)获取某个系统变量

Properties properties = System.getProperties();
Iterator proIt = properties.entrySet().iterator();
while(proIt.hasNext())
{
Entry entry = (Entry)proIt.next();
System.out.println(entry.getKey() + " = " + entry.getValue());
}


String separator =System.getProperty("file.separator");
System.out.println("file.separator= "+ separator);


二、[b]System[/b]原理

System是在lang包中的一个类,这个类中存在大量和系统打交道的实用方法
而且一般都是类方法,.getProperty(String key)就是其中一个比较常用的
方法,用于返回系统参数文件中这个方法指定键所代表的值。由于java是一
种跨平台语言,而不同的操作系统都不一样,比如文件分隔符,在window
下为“\”,而在unix下就成了"\\",这种情况下要想使程序跨平台,就可以
使用这个方法把代表分隔符的那个键的值取到用到程序中。

这些变量通常与你的程序本身没有关系,而是和你的机器的配置和操作系统等有关。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值