我用谷歌搜索了一段时间,但似乎无法找到它,它应该很容易.我想将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
在转换中设置输出属性,或直接在模板中包含必要的行终止符.
简单...只需添加追加选项:
new FileOutputStream(f, true /* append */);
这里有几个选择.
我假设您的结果是StreamResult
您正在创建的,String
指定目标文件路径.你可以考虑打开一个FileOutputStream
自己,然后StreamResult
用它来构建你.然后,当变换器完成后,附加行终止符,刷新并关闭流.在没有限制的情况下,我会使用这种方法.
如果要重新打开文件,如问题所示,则需要使用带有FileOutputStream
可选append
参数的构造函数.将其设置为true
以避免破坏刚刚完成的转换的结果.
您还可以探索indent
在转换中设置输出属性,或直接在模板中包含必要的行终止符.