2013-12-21 47 views
7

使用这两者有什么不同吗?你什么时候使用一个?System.out.println vs PrintWriter

System.out.println(result); 

OR

PrintWriter out = new PrintWriter(System.out); 
    out.println(result); 
    out.flush(); 
+0

一个是PringStream,另一个是PrintWriter。 PrintStreams可以让编码更灵活。我猜测一些系统编码被使用,但我不确定。 –

+2

'System.out'是[PrintStream](http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html),'PrintWriter'是... [PrintWriter] (http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html) –

回答

7

不同的是,System.outPrintStream,另一种是PrintWriter一些研究。 PrintStream是为了写一个字节的流,而PrintWriter是为了写一个字符流(因此它处理字符编码等)。对于大多数使用情况,没有区别。

4

System.outPrintStream

实例,以便您的问题范围缩小到PrintStream VS PrintWriter

  • PrintStream打印的转换中的所有字符使用平台的默认字符编码编辑成字节。 (Syso直接写到系统输出/控制台)

  • PrintWriter类应该用于需要写字符而不是字节的情况。

  • 发布问题之前,请在SO

0

是的,有一个细微的差异。 out.println()较短,用于JSP,而PrintWriter用于servlet。 out.println()也来自PrintWriter。