将现有键作为值添加到java属性文件中的新键

时间:2014-11-26 10:02:33

标签: java json properties-file

我在java项目中使用属性文件来存储各种资源的路径。 例如: - 这是我的属性文件: -

MACHINE_NAME = "//pranay"
Json_path1 = MACHINE_NAME//Json//j1.txt
Json_path2 = MACHINE_NAME//Json//j2.txt

关键MACHINE_NAME的值没有被其值替换,即在另一个键(例如Json_path1和Json_path2)中的pranay。因此我无法得到正确的路径。 如何给予关键的MACHINE_NAME以使其值在其他键值中被替换。

2 个答案:

答案 0 :(得分:2)

您无法自动执行此操作 - 它不是Java属性文件的功能。在计划加载/使用属性文件的任何地方,您都需要编写代码来执行此操作。

你应该考虑:

  • 是否要使其更明确,例如使用${MACHINE_NAME}代替MACHINE_NAME
  • 你是否有一个固定的替换列表,你想要支持,或者你是否想要选择任何看起来像它的替代品(如果你有这样的语法,那就更容易了)当然${...}
  • 替换是否可以递归,例如MACHINE_NAME = ${USER_NAME}-laptop - 以及如何处理周期

答案 1 :(得分:1)

标准属性机制无法处理此问题,但有扩展。试着看看eproperties。在其他情况下,自己做替换。