2

我使用 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!”在这种特殊情况下)。

4

1 回答 1

2

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

FileWriter w = new FileWriter("/path/to/targetFile.txt");
Velocity.mergeTemplate("testtemplate.vm", context, w);
w.close();
于 2013-05-17T15:04:56.980 回答