Java 操作 properties 文件
发布时间:2020-12-14 23:28:08 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; i
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Properties; public class SetSystemProperty { //属性文件的路径 static String profilepath="mail.properties"; /** * 采用静态方法 */ private static Properties props = new Properties(); static { try { props.load(new FileInputStream(profilepath)); } catch (FileNotFoundException e) { e.printStackTrace(); System.exit(-1); } catch (IOException e) { System.exit(-1); } } /** * 读取属性文件中相应键的值 * @param key * 主键 * @return String */ public static String getKeyValue(String key) { return props.getProperty(key); } /** * 根据主键key读取主键的值value * @param filePath 属性文件路径 * @param key 键名 */ public static String readValue(String filePath,String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream( filePath)); props.load(in); String value = props.getProperty(key); System.out.println(key +"键的值是:"+ value); return value; } catch (Exception e) { e.printStackTrace(); return null; } } /** * 更新(或插入)一对properties信息(主键及其键值) * 如果该主键已经存在,更新该主键的值; * 如果该主键不存在,则插件一对键值。 * @param keyname 键名 * @param keyvalue 键值 */ public static void writeProperties(String keyname,String keyvalue) { try { // 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。 // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。 OutputStream fos = new FileOutputStream(profilepath); props.setProperty(keyname,keyvalue); // 以适合使用 load 方法加载到 Properties 表中的格式, // 将此 Properties 表中的属性列表(键和元素对)写入输出流 props.store(fos,"Update '" + keyname + "' value"); } catch (IOException e) { System.err.println("属性文件更新错误"); } } /** * 更新properties文件的键值对 * 如果该主键已经存在,更新该主键的值; * 如果该主键不存在,则插件一对键值。 * @param keyname 键名 * @param keyvalue 键值 */ public static void updateProperties(String keyname,String keyvalue) { try { props.load(new FileInputStream(profilepath)); // 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。 // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。 OutputStream fos = new FileOutputStream(profilepath); props.setProperty(keyname,"Update '" + keyname + "' value"); } catch (IOException e) { System.err.println("属性文件更新错误"); } } //测试代码 public static void main(String[] args) { readValue("mail.properties","jdbc_mysql"); writeProperties("jdbc_mysql","127.0.0.1"); writeProperties("username","root"); writeProperties("password","123"); updateProperties("password","456"); System.out.println("操作完成"); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |