获取properties文件属性值

  1. // 获取properties文件属性值  
    public static String readPropertiesFile(String filePath, String key) throws FileNotFoundException, IOException {  
        try {  
            Properties props = new Properties();  
            props.load(new InputStreamReader(new FileInputStream(filePath), "UTF-8"));   
            String value = props.getProperty(key);  
            System.out.println(key + "键的值是:" + value);  
            return value;  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
    }  
      
    /** 
     * 更新(或插入)一对properties信息(主键及其键值) 如果该主键已经存在,更新该主键的值; 如果该主键不存在,则插件一对键值。 
     *  
     * @param key 
     *            键名 
     * @param value 
     *            键值 
     */  
    public static void writePropertiesFile(String filePath, String key, String value) throws IOException {  
        Properties properties = new Properties();  
        File file = new File(filePath);  
        FileInputStream fis = new FileInputStream(file);  
        properties.load(new InputStreamReader(new FileInputStream(file),"UTF-8"));  
        // 必须先用map将所有的内容先保存,不然一更新,原来的内容都没了  
        Map map = new HashMap();  
        Set keySet = properties.keySet();  
        for (Object object : keySet) {  
            String keytmp = (String) object;  
            String valuetmp = (String) properties.getProperty(keytmp);  
            System.out.println(keytmp + "=" + valuetmp);  
            map.put(keytmp, valuetmp);  
        }  
        map.put(key, value);  
        for (java.util.Map.Entry entry : map.entrySet()) {  
            properties.setProperty(entry.getKey(), entry.getValue());  
        }  
        FileOutputStream fos = new FileOutputStream(file);  
        properties.store(new OutputStreamWriter(fos), "update");  
        fos.close();  
        fis.close();  
    }   

     

    你可能感兴趣的:(java学习)