java - java中属性文件相同的键具有不同的值

标签 java properties

我有一个像这样的属性文件。

host=192.168.1.1
port=8060
host=192.168.1.2
port=8070
host=192.168.1.3
port=8080
host=192.168.1.4
port=8090

现在我想要唯一的 url,以便我可以将其传递给其他应用程序。 示例

HostOne   : https://192.168.1.1:8060
HostTwo   : https://192.168.1.2:8070
HostThree : https://192.168.1.3:8080
HostFour  : https://192.168.1.4:8090

如何使用 Java 或任何其他库获取它。请帮忙。

谢谢。

已编辑

如果我想要这种类型的数据,怎么样?

host=192.168.1.1,8060
host=192.168.1.1,8060
host=192.168.1.1,8060
host=192.168.1.1,8060

现在有什么办法可以得到这个吗? ?

最佳答案

基本上该属性文件已损坏。属性文件是构建到映射中的一系列键/值对,因此它要求键是唯一的。我怀疑如果您现在将其加载到 Properties 对象中,您将仅获得最后一个主机/端口对。

选项:

  • 通过提供唯一的键,例如,使其成为真实属性文件

    host.1=192.168.1.1
    port.1=8060
    host.2=192.168.1.2
    port.2=8070
    ...
    
  • 使用不同的文件格式(例如 JSON)

  • 编写您自己的自定义解析器来理解您当前的文件格式,但不要将其称为“属性文件”,因为这对 Java 开发人员具有特定的含义

就我个人而言,我可能会选择 JSON。例如,您的文件可以表示为:

[
    { "host": "192.168.1.1", "port": 8060 },
    { "host": "192.168.1.2", "port": 8070 },
    { "host": "192.168.1.3", "port": 8080 },
    { "host": "192.168.1.4", "port": 8090 }
]

关于java - java中属性文件相同的键具有不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598522/

相关文章:

javascript - Firefox Javascript : Why does . 全部不起作用?

php - 在一行中声明多个属性

python - 有没有更好的方法来为动态命名的属性做一个 getter 属性?

Java 3D数组: Storing cube,检索立方体切片

java - 同步 2 个线程或 1000 个线程哪个更难?

java - 用于以编程方式部署应用程序的 weblogic 服务器脚本

python - 使用@abstractproperty 和@abstractmethod 实现/覆盖的实际差异

java 模拟带有重定向的post表单

java - java.awt.Menu 的 RadioButtonMenuItem

java - 使用 JMockIt 模拟简单的属性访问