11

除了使用apache 常见的转换之外,还有什么可能的转换PrintStream方式PrintWriter(反之亦然) ?WriterOutputStream

4

1 回答 1

17

要转换PrintStreamPrintWriter,请使用构造函数:PrintWriter(OutputStream out)

使用该构造函数,您可能会得到不正确的编码,因为PrintStream有一个编码但使用PrintWriter(OutputStream out)会忽略它并且只使用系统的默认字符集。如果您不想要系统默认值,则必须将编码保存在单独的字段或变量中并使用:

pw = new PrintWriter(new OutputStreamWriter(myPrintStream, encoding));

哪里encoding可以是(例如)"UTF-8"Charset.

于 2012-05-27T05:18:05.583 回答