Java 中系统环境变量的设置和获取  
作者:家居猫 
在运行时设置一个环境变量 debug 为 true: java -Ddebug=true YourClass在程序中设置一个环境变量 debug 为 true: System.setProperty( "debug", "true" );获取一个环境变量 debug : String debug = System.getProperty( "debug" );下表中列出了一部分环境变量,这些是 Java 已经定义好的,可以在程序中通过 System.getProperty( "key" ) 来获取,更多的环境变量请参阅 JDK 文档。
属性名 描 述 
java.version Java 运行时版本 
java.home Java 的安装目录 
java.class.version Java 类格式的版本号 
java.class.path Java 类的查找路径 
java.io.tmpdir 默认的临时目录 
java.compiler Java 所使用的及时编译器 
java.ext.dirs Java 扩展包的目录 
os.name 操作系统的名称 
os.arch 操作系统的体系结构 
os.version 操作系统的版本 
file.separator 文件分隔符(Unix 下为'/') 
path.separator 路径分隔符(Unix 下为':') 
line.separator 换行符(Unix 下为'\n') 
user.name 用户帐号名 
user.home 用户目录 
user.dir 用户当前的工作目录 
 

解决方案 »

  1.   

    给你看个取系统属性的例子:import java.util.*;public class GetSysProperty {
      public static void main(String[] args) {
        System.out.println(new Date());
    System.out.println();
        Properties p = System.getProperties();
        p.list(System.out);
    System.out.println();
        System.out.println("--- Memory Usage:");
        Runtime rt = Runtime.getRuntime();
        System.out.println("Total Memory = "
                           + rt.totalMemory()
                           + " Free Memory = "
                           + rt.freeMemory());
      }
    }
      

  2.   

    import java.util.*; public class SystemInfo 

      public static void main(String args[]){ 
        Properties systemStuff = System.getProperties();     int i=0; 
        Enumeration enum = systemStuff.propertyNames(); 
        while (enum.hasMoreElements()){ 
           i++; 
           String key = (String)enum.nextElement(); 
           // nextElement gives objects, keys must 
           // be strings, so cast 
           System.out.println(""+i+". "+key + " value is " + 
                  systemStuff.getProperty(key)); 
        } 
      } 

      

  3.   

    Ch15  系统程序设计1 System
    1.1 I/O流
     public static InputStream in: 读取字符的标准输入流。
     public static PrintStream out: 标准输出流。
     public static PrintStream err: 标准错误输出流。
    1.2  系统属性
       (1) 属性
     java.version 版本号       java.vendor销售商 
     java.vendor.url           java.home安装目录
     java.class.version类版本   java.class.path类路径
     os.name                  os.arch支持的体系结构
     os.version                file.separator
     path.separator            line.separator  行分隔符
     user.name                user.home    home目录
     user.dir 用户当前目录
       (2) 方法
     public static Properties getProperties(): 取系统属性。如果当前系统属性集不存在,则创建并初始化。
     public static void setProperties(Properties props)
     public static String getProperty(String key)
    返回名为key的属性值。等效于System.getProperties().getProperty(key);
     public static String getProperty(String key,String defaultValue)
    返回名为key的属性值。若没定义则返回defaultValue。它等效于System.getProperties().getProperty(key,def);

    (3)  属性值的解码   属性值转换成数值(对象)
     static boolean Boolean.getBoolean(String name)
    name为”true”(不区分大小写)时, 返回true,否则false
     static Integer Integer.getInteger(String name)
    如果没有数字形式,返回null。
     static Integer Integer.getInteger(String name,Integer def): 如果没有数字形式,返回缺省值def
     static Long Long.getLong(String nm)
     static Long Long.getLong(String nm,Long def)
       (4) Eample
    public static File personal(String fileName){
      String home = System.getProperty("user.home");
      if  (home == null)    return null;
      else  return new File(home,fileName);
    }
          StringBuffer props = new StringBuffer();
          props.append("\nOS Name: ");
          props.append(System.getProperty("os.name"));
          props.append("\nOS Version: ");
          props.append(System.getProperty("os.version"));
          props.append("\nOS Architecture: ");
          props.append(System.getProperty("os.arch"));
          props.append("\nJVM Version: ");
          props.append(System.getProperty("java.runtime.version"));
          props.append("\nJVM Vendor: ");
          props.append(System.getProperty("java.vm.vendor"));
          System.out.println(props.toString());