如何将参数值替换为txt文件?

时间:2016-01-14 18:34:07

标签: java

有人可以解释一下如何替换.txt文件中的值。 例如,我有一个' Test.txt'带有一行的文件:

c()

我在下面有一个像这样的HashMap:

 1,23343,EUR,1.45,${param1},Mr,${param2}

所以现在我想使用我的HashMap的键值并将其传递给.txt文件,但我不知道如何做到这一点。

我的文件Test.txt应该看起来像

Map map= new HashMap();
    map.put("param1", "1000");
    map.put("param2", "4000");

请帮帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用envsubst命令在命令行上执行此操作。

export param1=1000
export param2=4000

envsubst < original.txt > new.txt

envsubst是许多Linux发行版中的标准命令行实用程序。

答案 1 :(得分:0)

https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/text/StrSubstitutor.html

示例:

 Map map = HashMap();
 map.put("param1", "1000");
 map.put("param2", "4000");
 StrSubstitutor sub = new StrSubstitutor(map);
 String resolvedString = sub.replace("1,23343,EUR,1.45,${param1},Mr,${param2}");

得到以下特性:

  

1,23343,欧元,1.45,1000,MR,4000