将PrintStream转换为PrintWriter

时间:2012-05-27 05:12:23

标签: java stream

除了使用常见于apache的PrintStream之外,是否有任何可能的方式将PrintWriter转换为WriterOutputStream(反之亦然)?

1 个答案:

答案 0 :(得分:14)

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

使用该构造函数,您可能会冒错误编码,因为PrintStream具有编码但使用PrintWriter(OutputStream out)忽略该编码,并且只使用系统的默认字符集。如果您不希望系统默认,则必须将编码保留在单独的字段或变量中,并使用:

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

encoding可以是(例如)"UTF-8"Charset的实例。