PrintStream y PrintWriter API son casi las mismas, ambas pueden generar varias formas de datos, y el método de construcción es casi el mismo
PrintWriter tiene un adicional de aceptación de parámetros de escritor
Comparación de API:
Entonces, ¿cuál es la diferencia entre ellos? Desde Stackflow
El significado principal es que las funciones de las dos clases son básicamente las mismas, y el impreso que imprime también se puede implementar, y las funciones de PrintWriter son más poderosas. Sin embargo, dado que PrintWriter apareció relativamente tarde, el sistema anterior.
La mayor diferencia entre las dos clases es que PrintStream utiliza el formato de codificación predeterminado del sistema al emitir caracteres y convertir caracteres en bytes. Esto causará problemas cuando los datos se transmitan a otra plataforma y otra plataforma decodifica otro formato de codificación, y hay factores incontrolables. PrintWriter puede ser especificado por el programador al pasar en el escritor, y el formato de codificación al convertir los caracteres en bytes será mejor.
El siguiente programa muestra cómo lo hacen los dos objetos PrintStream y PrintWriter cuando procesan el mismo propósito de salida. El programa mostrará cuatro caracteres "chino simplificado" en la pantalla:
StreamWriterDemo.Java Paquete solofun.caterpillar; import java.io.*; Public class streamwriterDemo {public static void main (string [] args) {try {byte [] sim = {(byte) 0xbc, (byte) 0xf2, // simplificado (byte) 0xcc, (byte) 0xe5, / / / / / / / /… (byte) 0xd0, // medio (byte) 0xce, (byte) 0xc4}; // text inputStreamReader inputStreamReader = new InputStreamReader (new ByteArrayInputStream (SIM), "GB2312"); PrintWriter PrintWriter = newWriter (new OuttreamWriter (System.out "GB2312"); PrintStream (System.out, verdadero, "GB2312"); int en; while ((in = inputStreamReader.read ())! = -1) {printwriter.println ((char) in); printstream.println ((char) in);} inputStreamReader.Close (); printwriter.close (); printstream.close ();} Catch (ArrayIndexOutOfBoundseCeption e) {E.PrintStackTrace ();} Catch (IOException e) {E.PrintStackTrace ();}}}Resumir
Lo anterior es todo el contenido de este artículo sobre la diferencia entre PrintStream y PrintWriter, y espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!