【问题标题】:Redirect stdout to a string in Java将标准输出重定向到Java中的字符串
【发布时间】:2011-05-10 03:56:29
【问题描述】:

我知道如何将标准输出重定向到一个文件,但我不知道如何将它重定向到一个字符串。

【问题讨论】:

    标签: java stdout


    【解决方案1】:

    是的 - 您可以使用 ByteArrayOutputStream:

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    System.setOut(new PrintStream(baos));
    

    然后就可以得到baos.toString()的字符串了。

    要指定编码(而不依赖于平台定义的编码),请使用PrintStream(stream, autoFlush, encoding) 构造函数和baos.toString(encoding)

    如果您想恢复到原始流,请使用:

    System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 2012-08-15
      • 2011-05-15
      • 1970-01-01
      相关资源
      最近更新 更多