-
// 获取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<String, String> map = new HashMap<String, String>(); Set<Object> 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<String, String> entry : map.entrySet()) { properties.setProperty(entry.getKey(), entry.getValue()); } FileOutputStream fos = new FileOutputStream(file); properties.store(new OutputStreamWriter(fos), "update"); fos.close(); fis.close(); }