System.out.println vs PrintWriter

2022-09-04 02:12:37

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

System.out.println(result);

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

答案 1

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

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


答案 2

System.out是 的实例PrintStream

因此,您的问题将缩小到 vsPrintStreamPrintWriter

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

  • 该类应在需要写入字符而不是字节的情况下使用。PrintWriter


推荐