可能重复:
  如何在java.util.Properties中引用另一个属性?

查看我的“file.properties”:

key1= My name is
key2= ${key1} Martin !

为什么当我得到“key2”的值时我的结果是“$ {key1} Martin!”不像“我的名字是马丁!”

=>我在Java 6中编程 =>我使用java.util.Properties

有帮助吗?

解决方案

您可能需要查看Apache配置,

http://commons.apache.org/configuration/

它支持的众多功能包括可变插值

其他提示

使用Java 属性

属性键和值只是字符串。它们没有处理,因此您无法引用值中的其他值。

Ant文件是脚本;属性文件是字符串桶。

属性文件的主要用途是作为可翻译文本的字符串容器。通常在资源包中使用的格式字符串使用基于索引的系统。翻译字符串时,可以在字符串的翻译版本中更改参数的顺序,而无需更改Java代码。

String what = "Hello";
String who = "Martin";
System.out.println(MessageFormat.format("{0}, {1}!", what, who));
System.out.println(MessageFormat.format("{1}, {0}!", what, who));

输出:

Hello, Martin!
Martin, Hello!

对于这样的用例,将功能封装在Properties类中是没有意义的,因为字符串通常需要来自应用程序的数据。可以使用 MessageFormat 类来执行替代。

不应将此类型的格式与其他格式选项混淆/util/Formatter.html“rel =”nofollow noreferrer“>格式化程序

System.out.format("%s, %s!%n", what, who);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top