2012-05-27 25 views
7

¿Hay alguna forma posible de convertir PrintStream en PrintWriter (o viceversa) que no sea usando WriterOutputStream que está en apache común?Convierte PrintStream a PrintWriter

+0

¿No puedes usar el ajuste PrintStream en PrintWriter? – nhahtdh

+0

¿Cuál es tu objetivo? –

+0

mi objetivo es convertir printstream a print writer y NO agregar apache.jar a mi código. – MBZ

Respuesta

10

Convertir PrintStream a PrintWriter, utilice el constructor: PrintWriter(OutputStream out)

Con ese constructor, que arriesgarse a que la codificación incorrecta, ya que tiene una codificación PrintStream pero utilizando PrintWriter(OutputStream out) hace caso omiso de eso y sólo utiliza juego de caracteres por defecto del sistema. Si no desea que el defecto del sistema, se tendrá que mantener la codificación en un campo separado o variable y uso:

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

Dónde encoding puede ser (por ejemplo) "UTF-8" o una instancia de Charset.

+1

Usted puede simular 'System.out.println()' a través de 'pw = new PrintWriter (System.out);' –