1. /**
  2. * 实现对Java配置文件Properties的读取、写入与更新操作
  3. */
  4. package test;
  5. import java.io.BufferedInputStream;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.io.InputStream;
  11. import java.io.OutputStream;
  12. import java.util.Properties;
  13. /**
  14. * @author
  15. * @version
  16. */
  17. public class SetSystemProperty {
  18. //属性文件的路径
  19. static String profilepath="mail.properties";
  20. /**
  21. * 采用静态方法
  22. */
  23. private static Properties props = new Properties();
  24. static {
  25. try {
  26. props.load(new FileInputStream(profilepath));
  27. } catch (FileNotFoundException e) {
  28. e.printStackTrace();
  29. System.exit(-1);
  30. } catch (IOException e) {
  31. System.exit(-1);
  32. }
  33. }
  34. /**
  35. * 读取属性文件中相应键的值
  36. * @param key
  37. *            主键
  38. * @return String
  39. */
  40. public static String getKeyValue(String key) {
  41. return props.getProperty(key);
  42. }
  43. /**
  44. * 根据主键key读取主键的值value
  45. * @param filePath 属性文件路径
  46. * @param key 键名
  47. */
  48. public static String readValue(String filePath, String key) {
  49. Properties props = new Properties();
  50. try {
  51. InputStream in = new BufferedInputStream(new FileInputStream(
  52. filePath));
  53. props.load(in);
  54. String value = props.getProperty(key);
  55. System.out.println(key +"键的值是:"+ value);
  56. return value;
  57. } catch (Exception e) {
  58. e.printStackTrace();
  59. return null;
  60. }
  61. }
  62. /**
  63. * 更新(或插入)一对properties信息(主键及其键值)
  64. * 如果该主键已经存在,更新该主键的值;
  65. * 如果该主键不存在,则插件一对键值。
  66. * @param keyname 键名
  67. * @param keyvalue 键值
  68. */
  69. public static void writeProperties(String keyname,String keyvalue) {
  70. try {
  71. // 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
  72. // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
  73. OutputStream fos = new FileOutputStream(profilepath);
  74. props.setProperty(keyname, keyvalue);
  75. // 以适合使用 load 方法加载到 Properties 表中的格式,
  76. // 将此 Properties 表中的属性列表(键和元素对)写入输出流
  77. props.store(fos, "Update '" + keyname + "' value");
  78. } catch (IOException e) {
  79. System.err.println("属性文件更新错误");
  80. }
  81. }
  82. /**
  83. * 更新properties文件的键值对
  84. * 如果该主键已经存在,更新该主键的值;
  85. * 如果该主键不存在,则插件一对键值。
  86. * @param keyname 键名
  87. * @param keyvalue 键值
  88. */
  89. public void updateProperties(String keyname,String keyvalue) {
  90. try {
  91. props.load(new FileInputStream(profilepath));
  92. // 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
  93. // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
  94. OutputStream fos = new FileOutputStream(profilepath);
  95. props.setProperty(keyname, keyvalue);
  96. // 以适合使用 load 方法加载到 Properties 表中的格式,
  97. // 将此 Properties 表中的属性列表(键和元素对)写入输出流
  98. props.store(fos, "Update '" + keyname + "' value");
  99. } catch (IOException e) {
  100. System.err.println("属性文件更新错误");
  101. }
  102. }
  103. //测试代码
  104. public static void main(String[] args) {
  105. readValue("mail.properties", "MAIL_SERVER_PASSWORD");
  106. writeProperties("MAIL_SERVER_INCOMING", "327@qq.com");
  107. System.out.println("操作完成");
  108. }
  109. }

Java配置文件Properties的读取、写入与更新操作相关推荐

  1. java properties更新_对Java配置文件Properties的读取、写入与更新操作

    String filepath=System.getProperty("user.dir"); 对下面的程序很有用... /** * 实现对Java配置文件Properties的读 ...

  2. java配置文件强制更新_对Java配置文件Properties的读取、写入与更新操作

    对Java配置文件Properties的读取.写入与更新操作 注:当前项目路径是 String filepath=System.getProperty("user.dir"); 对 ...

  3. java 读取dwg_jdwglib java dwg文件的读取,写入开发包. dwg使用当前 常方便,测试代码和jar都有 CAD 247万源代码下载- www.pudn.com...

    文件名称: jdwglib下载  收藏√  [ 5  4  3  2  1 ] 所属分类: CAD 开发工具: Java 文件大小: 608 KB 上传时间: 2015-12-08 下载次数: 0 提 ...

  4. php csv文件的读取,写入,输出下载操作详解

    2019独角兽企业重金招聘Python工程师标准>>> php对csv文件的读取,写入,输出下载操作. 代码: <?php $file = fopen('text.csv',' ...

  5. java配置文件properties_关于Java配置文件properties的学习

    在Java早期的开发中,常用*.properties文件存储一些配置信息.其文件中的信息主要是以key=value的方式进行存储,在早期受到广泛的应用.而后随着xml使用的广泛,其位置渐渐被取代,不过 ...

  6. java gridfs_如何在GridFS中执行更新操作(使用Java)?

    我使用的Mongo-Java-Driver 2.13是在 GridFS中 存储了一个PDF文件( 大小 为 30mb) .我能够轻松地执行插入,删除和查找操作. MongoClient mongo = ...

  7. Java配置文件(properties)

    创建配置文件   配置文件的作用:   在我们编写Java程序时,有很多参数是会经常改变的.比如环境的配置,我们开发的时候是一套环境,测试使用的可能又是另外一套环境,最后交付给用户的时候,用户用的又是 ...

  8. 有关配置文件 properties无法读取问题

    properties.load(config.getServletContext().getResourceAsStream(value)); 运行时一直报错这句话,HTTP500- 空指针.说明.p ...

  9. Java -- JDBC 学习--通过Statement进行数据库更新操作

    通过 JDBC 向指定的数据表中插入一条记录. 1. Statement: 用于执行 SQL 语句的对象 1). 通过 Connection 的 createStatement() 方法来获取 2). ...

最新文章

  1. 【bzoj3150】 cqoi2013—新Nim游戏
  2. 【Java_多线程并发编程】基础篇—线程状态及实现多线程的两种方式
  3. 我是SQL小菜鸟---SQL全局临时表防止用户重复登录
  4. idea集成gitlab使用ssh免密登录
  5. 2018-09-25 参考博客Hadoop
  6. System进程占用CPU过高
  7. Arduino米思齐Mixly---旋转可调灯
  8. 支付宝第三方登录具体实现
  9. android 有线网络,安卓手机免费“有线”上网
  10. 网吧服务器磁盘性能,网吧游戏服务端显示磁盘已满怎么解决
  11. Python3 将本地时间转换成指定时区时间
  12. Linux学习16 软件包和启动项管理
  13. 7、8系升9系视频教程
  14. 1920*1080分辨率图片怎么调?图片尺寸分辨率如何修改
  15. 链塔小程序产品更新说明
  16. 文本溢出隐藏显示... 鼠标移动到元素显示全部内容
  17. 20220316_Scanner、匿名对象、Random、ArrayList
  18. Vue写一个知乎日报
  19. 每日三个笑话-20151003
  20. java 转账_JAVA实操项目:转账接口设计

热门文章

  1. 瀑布流JavaScript
  2. NYOJ 58 步数最少 【BFS】
  3. spring配置文件各个属性详解
  4. C#生成不重复随机数列表
  5. SOA面向服务架构简述
  6. 轻量函数式 JavaScript:十、函数式异步
  7. 《21天学通HTML+CSS+JavaScript Web开发(第7版)》——1.4 统一资源定位符
  8. 安装qt5后编译运行后有关Qt at-spi的警告
  9. iphone按钮圆角的问题
  10. 黑马程序员_面向对象的三大特征