Bootstrap

java 读取系统属性及环境变量

有时候在编写应用程序时,需要向文件系统写入数据文件、日志文件;这时就需要判断操作系统类型、当前用户的主目录等,从而规范文件写入,使应用程序能够适应多种操作系统平台。

本文就利用JDK自带类 System 来获取系统的属性集合。

import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

public class TestSysprops {
    public static void main(String[] args) {
        System.out.println("打印 系统属性...");
        Properties  props = System.getProperties();
        for (Iterator<Object> it = props.keySet().iterator();it.hasNext();){
            String key = (String)it.next();
            String value = (String)props.get(key);
            System.out.println(key+"\t"+value);
        }
        System.out.println("打印 环境变量...");
        Map<String,String> map = System.getenv();
        for (Iterator<String> it = map.keySet().iterator();it.hasNext();){
            String key = it.next();
            String value = map.get(key);
            System.out.println(key+"\t"+value);
        }
    }
}

通过path.sepatator file.sepatator ,能够很方便地区分操作系统类型

在 dos/windows上,path变量值分隔符是分号 ;文件路径分隔符是 反斜杠

在  unix/linux 上 , path变量值分隔符是冒号 : 文件路径分隔符是 正斜杠 /

所以,在处理上传文件时,

1.建议将文件写入 user.home 这个系统属性对应的目录中

原因是 这样写入不会有写入权限的问题;

2.建议 应用程序能够创建出 .隐藏目录 

保持应用独立性,减少对同目录其他文件影响

;