posts - 66, comments - 12, trackbacks - 0, articles - 0

java中的系统属性以及环境变量(转帖)

Posted on 2008-08-15 14:04 cyantide 阅读(585) 评论(0)  编辑  收藏 所属分类: java

从概念上讲,系统属性环境变量 都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 Java 进程。环境变量产生更多的全局效应,因为它们不仅对Java 子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因为这些原因,环境变量更可能有意料不到的副作用。最好在可能的地方使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 PATH)。

代码如下:

//import java.util.*;
import java.util.Properties;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;

public class GetSysPropertiesAndEnv
{
 public static void main(String [] args)
 {
  //获取所有系统属性
   Properties prpt = System.getProperties();
   Enumeration enm = prpt.propertyNames();  //返回系统属性列表中所有键的枚举
   String key = "";
   System.out.println("当前系统属性如下:=========");
   while(enm.hasMoreElements())
  {
   key = (String) enm.nextElement();
   System.out.println(key+":"+System.getProperty(key,"undefined"));
  }

  //获取所有环境变量的设置
   Map map = System.getenv();       //返回系统环境变量的字符串映射视图。
   Set  set  = map.keySet();        //返回映射中包含的键的 set 视图
   System.out.println("当前环境变量如下:=========");
   Iterator itr = set.iterator();
   while(itr.hasNext())
  {
   key = (String) itr.next();
   System.out.println(key+":"+map.get(key));
  }
 }
}

其中个人认为比较重要的系统属性如下:

java.home:Java 安装目录 (比如D:\JavaStudio\jdk15\jre)
java.class.path:Java 类路径
java.vm.version:Java虚拟机版本号(比如:1.5.0-b64)
java.version:Java版本号(比如:1.5.0)

os.name:操作系统的名称(比如:Windows XP)
os.version:操作系统的版本(比如:Windows XP 的版本为5.1)

user.home:用户的主目录 (比如:C:\Documents and Settings\zhangsan)
user.name:当前用户名
user.country:当前用户所属国家
user.dir:用户的当前工作目录

比较重要的环境变量(Windows操作系统):

%COMPUTERNAME%     返回计算机的名称。
%COMSPEC%     返回命令行解释器可执行程序的准确路径。

%WINDIR%    返回操作系统目录的位置。
%OS%     返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH%    指定可执行文件的搜索路径。

%USERDOMAIN%    返回包含用户帐户的域的名称。
%USERNAME%    返回当前登录的用户的名称。


只有注册用户登录后才能发表评论。


网站导航: