gpt4 book ai didi

java - 从 StringWriter 写入 txt 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:55 28 4
gpt4 key购买 nike

我有一个 StringWriter 变量 sw,它由 FreeMarker 模板填充。填充 sw 后,如何将其打印到文本文件?

我有一个 for 循环如下:

for(2 times)
{
template.process(data, sw);
out.println(sw.toString());
}

现在,我只是输出到屏幕上。我如何为文件执行此操作?我想在每个循环中,我的 sw 都会发生变化,但我希望每个循环中的数据都附加到文件中。

编辑:我尝试了下面的代码。当它运行时,它确实显示 file.txt 已被更改,但当它重新加载时,文件中仍然没有任何内容。

sw.append("CheckText");
PrintWriter out = new PrintWriter("file.txt");
out.println(sw.toString());

最佳答案

怎么样

FileWriter fw = new FileWriter("file.txt");
StringWriter sw = new StringWriter();
sw.write("some content...");
fw.write(sw.toString());
fw.close();

您还可以考虑使用一个输出流,您可以直接将其传递给 template.process(data, os); 而不是先写入 StringWriter,然后再写入文件。

查看 template.process(...) 的 API 文档,了解是否有这样的工具可用。

回复2

template.process(Object, Writer) 也可以将 FileWriter 对象作为参数,它是 Writer 的子类,所以你可能可以这样做:

FileWriter fw = new FileWriter("file.txt");    
for(2 times)
{
template.process(data, fw);
}
fw.close();

关于java - 从 StringWriter 写入 txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11883294/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com