/** * 修改properties文件,参数是map键值集合,根据键修改值,如果没有键值对就创建 * * @param filePath * 文件路径 * @param keyVal * 内容参数 * @param over是否覆盖,true的话就覆盖,false的话就是更新 * @return * @throws IOException */ public static boolean writeProperties(String filePath, Map<String, String> keyVal, boolean over) throws IOException { boolean flag = false; Properties props = new Properties(); InputStream ips = null; ips = new BufferedInputStream(new FileInputStream(filePath)); props.load(ips); ips.close(); OutputStream fos = null; if (over) { // 将新添加的内容覆盖原来的内容 fos = new FileOutputStream(filePath); // 将keys转换成数组 // 将键值逐一添加到property中 for (Object str : keyVal.keySet().toArray()) { props.setProperty(str.toString(), keyVal.get(str)); } props.store(fos, "set"); flag = true; fos.close(); } else { fos = new FileOutputStream(filePath); for (Object key : keyVal.keySet().toArray()) { System.out.println(keyVal.get(key).toString()); props.setProperty(key.toString(), keyVal.get(key)); } props.store(fos, ""); flag = true; fos.close(); } return flag; }