我使用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!”)。
答案 0 :(得分:2)
Velocity.mergeTemplate
接受作家。在这种情况下,您传递StringWriter
,它只是将所有内容转储到字符串中。您可以传递FileWriter
代替,可以将输出直接保存在目标文件中,也可以手动将结果打印到文件w.toString()
;
FileWriter w = new FileWriter("/path/to/targetFile.txt");
Velocity.mergeTemplate("testtemplate.vm", context, w);
w.close();