Java:将流结果保存到文件

2022-09-03 18:07:08

我正在用SAX进行一些数据转换(如csv)到xml,然后在Java中使用transformer。结果在 StreamResult 中,我正在尝试将此结果保存到文件中.xml但我找不到将 StreamResult 保存到文件中的方法。我做错了吗?


答案 1

您应该在文件的基础上创建,例如StreamResult

StreamResult sr = new StreamResult(new File("/my/file.xml"));

如果您给出这样的 ,它将直接将其结果写入您指定的文件中。TransformerStreamResult


答案 2

我不熟悉 API...但是这个链接能给你你所追求的吗?

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");

//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);

String xmlString = result.getWriter().toString();
System.out.println(xmlString);