As APIs PrintStream e PrintWriter são quase as mesmas, ambas podem gerar várias formas de dados, e o método de construção é quase o mesmo
PrintWriter possui parâmetros de escritor de recepção adicional
Comparação da API:
Então, qual é a diferença entre eles? Do fluxo de pilha
O principal significado é que as funções das duas classes são basicamente as mesmas, e o PrintWriter que o PrintStream também pode ser implementado e as funções do PrintWriter são mais poderosas. No entanto, como o PrintWriter parecia relativamente tarde, o sistema anterior.out usou o PrintStream para implementá -lo, para que o PrintStream não tenha sido abandonado para compatibilidade.
A maior diferença entre as duas classes é que o PrintStream usa o formato de codificação padrão do sistema ao emitir caracteres e converter caracteres em bytes. Isso causará problemas quando os dados forem transmitidos para outra plataforma e outra plataforma decodifica usando outro formato de codificação, e existem fatores incontroláveis. O PrintWriter pode ser especificado pelo programador ao passar no escritor e o formato de codificação ao converter caracteres em bytes será melhor.
O programa a seguir mostra como os dois objetos PrintStream e PrintWriter fazem ao processar o mesmo objetivo de saída. O programa exibirá quatro caracteres "chineses simplificados" na tela:
StreamWriterDemo.java Package Onlyfun.caterpillar; importar java.io. (byte) 0xd0, // médio (byte) 0xce, (byte) 0xc4}; // text inputStreamReader inputStreamReader = new inputStreamReader (new PrintWriterArrayInputStream (new SIM), "GB2312"); PrintWriterTwriter = PrintWriter (NewcutortTrater), (newstr), "Sym); = new PrintStream (System.out, true, "GB2312"); int in; while (in = inputStreamReader.read ())! = -1) {printWriter.println ((char) in); printStream.println ((char) in);} inputStreamReader.close (); printwriter.close (); printStream.close ();} catch (ArrayIndexoutOfBoundSception e) {E.PrintTackTrace (}; {E.PrintStackTrace ();}}}Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre a diferença entre PrintStream e PrintWriter, e espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!