当前位置:  开发笔记 > 编程语言 > 正文

java追加到文件

如何解决《java追加到文件》经验,为你挑选了2个好方法。

我用谷歌搜索了一段时间,但似乎无法找到它,它应该很容易.我想将CR附加到我用Transformer创建的XML文件的末尾.有没有办法做到这一点>

我尝试了以下但这导致了一个空白文件?

Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "file:///ReportWiz.dtd");
xformer.transform(source, result);
OutputStream writer = new FileOutputStream(file);
Byte b = '\n';
writer.write(b);
writer.close();

Mark Renouf.. 9

简单...只需添加追加选项:

    new FileOutputStream(f, true /* append */);


erickson.. 5

这里有几个选择.

我假设您的结果是StreamResult您正在创建的,String指定目标文件路径.你可以考虑打开一个FileOutputStream自己,然后StreamResult用它来构建你.然后,当变换器完成后,附加行终止符,刷新并关闭流.在没有限制的情况下,我会使用这种方法.

如果要重新打开文件,如问题所示,则需要使用带有FileOutputStream可选append参数的构造函数.将其设置为true以避免破坏刚刚完成的转换的结果.

您还可以探索indent在转换中设置输出属性,或直接在模板中包含必要的行终止符.



1> Mark Renouf..:

简单...只需添加追加选项:

    new FileOutputStream(f, true /* append */);



2> erickson..:

这里有几个选择.

我假设您的结果是StreamResult您正在创建的,String指定目标文件路径.你可以考虑打开一个FileOutputStream自己,然后StreamResult用它来构建你.然后,当变换器完成后,附加行终止符,刷新并关闭流.在没有限制的情况下,我会使用这种方法.

如果要重新打开文件,如问题所示,则需要使用带有FileOutputStream可选append参数的构造函数.将其设置为true以避免破坏刚刚完成的转换的结果.

您还可以探索indent在转换中设置输出属性,或直接在模板中包含必要的行终止符.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有