System.out.println与PrintWriter

问题描述 投票:11回答:3

使用这两个有区别吗?你什么时候用一个而不是另一个?

System.out.println(result);

PrintWriter out = new PrintWriter(System.out);
out.println(result);
out.flush();
java io printwriter printstream
3个回答
10
投票

主要区别在于System.outPrintStream而另一个是PrintWriter。本质上,PrintStream应该用于写一个字节流,而PrintWriter应该用来写一个字符流(因此它处理字符编码等)。

对于大多数用例,没有区别。


5
投票

System.outPrintStream的一个例子

所以你的问题缩小到PrintStream vs PrintWriter

  • 使用平台的默认字符编码将PrintStream打印的所有字符转换为字节。 (Syso直接写入系统输出/控制台)
  • PrintWriter类应该用于需要编写字符而不是字节的情况。

0
投票

是的,有一点点差异。 out.println()很短,用于JSP,而PrintWriter用于servlet。 out.println()也源自PrintWriter。

© www.soinside.com 2019 - 2024. All rights reserved.