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