【问题标题】:How to differentiate properties in properties file如何区分属性文件中的属性
【发布时间】:2019-08-26 12:06:13
【问题描述】:

我的属性

#db connection
mongoconnection=mongodb://user:password@host:27017/database?maxPoolSize=1


#serial=vehicleID
077C70=47368
077C71=47367
077C72=47366

Properties properties = new Properties();
  properties.load(new FileInputStream("my.properties"));

  for (Map.Entry<Object, Object> entry : properties.entrySet()) {

   String serialNumber = (String) entry.getKey();
   String vehicleId = (String) entry.getValue();
  }

在 for 循环中,我将 'mongoconnection' 作为键及其受尊重的值。
我想区分'db connection''serial=vehicleID'

【问题讨论】:

  • #db connection#serial=vehicleID 只是 cmets,被 Propertiesload 方法完全忽略。如果您需要这些 cmets 有意义,则需要编写自己的代码来将属性文件解析为您自己设计的其他数据结构。

标签: java properties-file


【解决方案1】:

Properties 类仅提供所有提供的键值对的平面视图,无法区分块。

您可以为要读取的文件编写自己的解析器

【讨论】:

    【解决方案2】:

    我认为你可以制作一个标签来设置这样的java环境:-Dflag=my.然后您可以读取不同的文件以根据环境获取不同的属性。

    【讨论】:

      【解决方案3】:

      您可以将属性拆分为两个文件(serial.properties、connection.properties)b因为这些属性之间似乎没有任何关系。一个文件用于连接。另一个是连续剧。这样,您可以读取串行属性并执行逻辑,当您需要从其他文件中读取的数据库 url 时。

      我通常会创建一个具有共同属性的属性文件。例如,翻译属性文件有自己的属性,数据库连接属性也有。随着项目的发展,这种方式更容易在将来编辑和查找属性。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-23
        • 2011-02-15
        • 1970-01-01
        • 1970-01-01
        • 2012-10-03
        • 1970-01-01
        • 2021-09-14
        相关资源
        最近更新 更多