【问题标题】:OutputStreamWriter java can't store into stringOutputStreamWriter java无法存储到字符串中
【发布时间】:2013-06-20 09:09:26
【问题描述】:
transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(System.out, "UTF-8")));

我正在使用它来生成控制台的输出。我想将输出存储到一个刺痛中。我不知道该怎么做。谁能帮我? :(

提前致谢

【问题讨论】:

    标签: java utf-8 filestreamresult


    【解决方案1】:

    例如使用这个(它避免编码字符串):

    StringWriter writer = new StringWriter();
    transformer.transform(new DOMSource(doc), new StreamResult(writer));
    String str = writer.getBuffer().toString();
    

    【讨论】:

    • toString() of StringWriter 已经进入缓冲区,所以:String str = writer.toString();
    【解决方案2】:

    使用StringWriter 类而不是OutputStreamWriter

    【讨论】:

      【解决方案3】:

      一个解决方案可能如下所示:

      ByteArrayOutputStream out = new ByteArrayOutputStream();
      transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(out, "UTF-8")));
      String string = new String(out.toByteArray(), "UTF-8");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-25
        • 1970-01-01
        • 2012-09-06
        • 1970-01-01
        • 2016-02-23
        • 2014-11-18
        • 2019-06-21
        • 1970-01-01
        相关资源
        最近更新 更多