使用值而不是占位符保存到文件中

时间:2013-05-16 16:04:21

标签: java file save velocity placeholder

我使用Apache Velocity,所以我有一个* .vm文件,其内容为“Hello $ name”。

Velocity.init();
VelocityContext context = new VelocityContext();
context.put("name", "Velocity");
StringWriter w = new StringWriter();
Velocity.mergeTemplate("testtemplate.vm", context, w);
System.out.println(" template : " + w);

此代码的结果是 -

template : Hello Velocity!

我的任务是将此结果保存到文件中。如何保存它,以便在文件中而不是占位符是一个真正的值(在这种特殊情况下,“Hello Velocity!”)。

1 个答案:

答案 0 :(得分:2)

Velocity.mergeTemplate接受作家。在这种情况下,您传递StringWriter,它只是将所有内容转储到字符串中。您可以传递FileWriter代替,可以将输出直接保存在目标文件中,也可以手动将结果打印到文件w.toString();

FileWriter w = new FileWriter("/path/to/targetFile.txt");
Velocity.mergeTemplate("testtemplate.vm", context, w);
w.close();