除了使用apache common中的WriterOutputStream
之外,是否有任何可能的方法可以将PrintStream
转换为PrintWriter
(反之亦然)?
要将PrintStream
转换为PrintWriter
,请使用构造函数:PrintWriter(OutputStream out)
使用该构造函数,您可能会获得不正确的编码,因为PrintStream
具有编码,但使用 PrintWriter(OutputStream out)
会忽略它,而只使用系统的默认字符集。如果您不希望系统默认,则必须将编码保留在单独的字段或变量中,并使用:
pw = new PrintWriter(new OutputStreamWriter(myPrintStream, encoding));
其中encoding
可以是(例如)"UTF-8"
或Charset
的实例。