Java 我可以引用属性文件中的另一个属性吗(使用${property})
可能重复:Java 我可以引用属性文件中的另一个属性吗(使用${property}),java,properties,parameters,include,Java,Properties,Parameters,Include,可能重复: 看看我的“file.properties”: 为什么当我得到“key2”的值时,我的结果是“${key1}Martin!”而不是“我的名字是Martin!” =>我用Java 6编程 =>我使用java.util.Properties您想用java做的事是不可能的 属性键和值只是字符串。没有对它们进行处理,因此不能在值中引用其他值。您可能需要查看Apache配置 在它支持的许多特性中,有一个是 Ant文件是脚本;属性文件是字符串的存储桶 属性文件的主要用途是用作可翻译文本的字符
看看我的“file.properties”:
为什么当我得到“key2”的值时,我的结果是“${key1}Martin!”而不是“我的名字是Martin!” =>我用Java 6编程
=>我使用java.util.Properties您想用java做的事是不可能的
属性键和值只是字符串。没有对它们进行处理,因此不能在值中引用其他值。您可能需要查看Apache配置
在它支持的许多特性中,有一个是 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类中是没有意义的,因为字符串通常需要来自应用程序的数据。该类可用于执行替换
此类型的格式不应与以下指定的其他格式选项混淆:
奇怪的使用ANT你可以做到这一点。Java怎么了?ANT与Java属性无关。我对ANT中引擎盖下的东西的(有限的)理解是它是被解析的。Java属性文件只是文本文件,包含可以加载到内存中的字符串键和字符串值。不要引用我的话。“Java怎么了?”我想你是指Java.util.Properties怎么了,答案是它不做属性扩展,也不声称做了。似乎它应该这样做。但听起来像使用ANT这样的Apache配置会更好。就是这样!name=Martin myKey=hi${name}!字符串结果=新属性配置(“myFile.properties”).getString(“myKey”);=>“结果”的值是“嗨,马丁!”
Hello, Martin!
Martin, Hello!
System.out.format("%s, %s!%n", what, who);