【发布时间】:2013-06-20 09:09:26
【问题描述】:
transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(System.out, "UTF-8")));
我正在使用它来生成控制台的输出。我想将输出存储到一个刺痛中。我不知道该怎么做。谁能帮我? :(
提前致谢
【问题讨论】:
标签: java utf-8 filestreamresult
transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(System.out, "UTF-8")));
我正在使用它来生成控制台的输出。我想将输出存储到一个刺痛中。我不知道该怎么做。谁能帮我? :(
提前致谢
【问题讨论】:
标签: java utf-8 filestreamresult
例如使用这个(它避免编码字符串):
StringWriter writer = new StringWriter();
transformer.transform(new DOMSource(doc), new StreamResult(writer));
String str = writer.getBuffer().toString();
【讨论】:
toString() of StringWriter 已经进入缓冲区,所以:String str = writer.toString();
使用StringWriter 类而不是OutputStreamWriter。
【讨论】:
一个解决方案可能如下所示:
ByteArrayOutputStream out = new ByteArrayOutputStream();
transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(out, "UTF-8")));
String string = new String(out.toByteArray(), "UTF-8");
【讨论】: