使用值而不是占位符保存到文件中
Posted
技术标签:
【中文标题】使用值而不是占位符保存到文件中【英文标题】:Save into the file with value instead of placeholder 【发布时间】:2013-05-11 15:17:34 【问题描述】:我使用的是 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】:Velocity.mergeTemplate
接受作家。在这种情况下,您传递了一个StringWriter
,它只是将所有内容转储到一个字符串中。您可以传递一个FileWriter
代替,它可以将输出直接保存在目标文件中,或者手动将w.toString()
的结果打印到文件中;
FileWriter w = new FileWriter("/path/to/targetFile.txt");
Velocity.mergeTemplate("testtemplate.vm", context, w);
w.close();
【讨论】:
以上是关于使用值而不是占位符保存到文件中的主要内容,如果未能解决你的问题,请参考以下文章