package com.cmccsi.framework.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.util.Iterator; import java.util.Properties; import java.util.Map.Entry; /** * 对属性文件操作的工具类 * 获取,新增,修改 * 注意: 以下方法读取属性文件会缓存问题,在修改属性文件时,不起作用, * InputStream in = PropertiesUtils.class.getResourceAsStream("/config.properties"); * 解决办法: * String savePath = PropertiesUtils.class.getResource("/config.properties").getPath(); */ public class PropertiesUtils { /** * 获取属性文件的数据 根据key获取值 * @param fileName 文件名 (注意:加载的是src下的文件,如果在某个包下.请把包名加上) * @param key * @return */ public static String findPropertiesKey(String key) { try { Properties prop = getProperties(); return prop.getProperty(key); } catch (Exception e) { return ""; } } public static void main(String[] args) { Properties prop = new Properties(); InputStream in = PropertiesUtils.class .getResourceAsStream("/config.properties"); try { prop.load(in); Iterator<Entry<Object, Object>> itr = prop.entrySet().iterator(); while (itr.hasNext()) { Entry<Object, Object> e = (Entry<Object, Object>) itr.next(); System.err.println((e.getKey().toString() + "" + e.getValue() .toString())); } } catch (Exception e) { } } /** * 返回 Properties * @param fileName 文件名 (注意:加载的是src下的文件,如果在某个包下.请把包名加上) * @param * @return * @throws UnsupportedEncodingException */ public static Properties getProperties() throws UnsupportedEncodingException{ Properties prop = new Properties(); String savePath = PropertiesUtils.class.getResource("/config.properties").getPath(); savePath= java.net.URLDecoder.decode(savePath,"utf-8"); //以下方法读取属性文件会缓存问题 // InputStream in = PropertiesUtils.class // .getResourceAsStream("/config.properties"); try { InputStream in =new BufferedInputStream(new FileInputStream(savePath)); //InputStream in = PropertiesUtils.class.getResourceAsStream("/config.properties"); prop.load(in); } catch (Exception e) { return null; } return prop; } public static Properties getjdbcProperties() throws UnsupportedEncodingException{ Properties prop = new Properties(); String savePath = PropertiesUtils.class.getResource("/jdbc.properties").getPath(); savePath= java.net.URLDecoder.decode(savePath,"utf-8"); //以下方法读取属性文件会缓存问题 // InputStream in = PropertiesUtils.class // .getResourceAsStream("/config.properties"); try { InputStream in =new BufferedInputStream(new FileInputStream(savePath)); //InputStream in =PropertiesUtils.class.getResourceAsStream("/jdbc.properties"); prop.load(in); in.close(); } catch (Exception e) { return null; } return prop; } /** * 写入properties信息 * * @param key * 名称 * @param value * 值 */ public static void modifyProperties(String key, String value) { try { // 从输入流中读取属性列表(键和元素对) Properties prop = getProperties(); prop.setProperty(key, value); String path = PropertiesUtils.class.getResource("/config.properties").getPath(); FileOutputStream outputFile = new FileOutputStream(path); prop.store(outputFile, "modify"); outputFile.close(); outputFile.flush(); } catch (Exception e) { } } }
Properties文件读取操作
猜你喜欢
转载自451640893.iteye.com/blog/2405203
今日推荐
周排行