关于System.out.println()与System.out.print("\n")的区别

这是在写junit测试的时候发现的。

 1 import java.io.ByteArrayOutputStream;
 2 import java.io.PrintStream;
 3
 4 public class Test {
 5     public static void main(String[] args) {
 6         PrintStream out=System.out;
 7         ByteArrayOutputStream outContent = new ByteArrayOutputStream();
 8         System.setOut(new PrintStream(outContent));
 9         System.out.println("hello");
10         System.setOut(out);
11         System.out.println(outContent.toString().equals("hello\n"));
12         outContent.reset();
13         System.setOut(new PrintStream(outContent));
14         System.out.print("hello\n");
15         System.setOut(out);
16         System.out.println(outContent.toString().equals("hello\n"));
17     }
18 }

上面这段程序输出的结果是false true。这意味着System.out.println()与System.out.print("\n")输出的字符还是有差别的。如果要将输出重定向到str用于测试是否相等的话,需要注意这一点。

时间: 2024-10-12 20:15:05

关于System.out.println()与System.out.print("\n")的区别的相关文章

JAVA中System.out.println和System.out.print有什么区别

java里常用的控制台输出语句有System.out.println和System.out.print 一:两者之间的区别如下: 1. 参数有区别: System.out.println() 可以不写参数 System.out.print(参数) 参数不能为空.必须有 2.效果有区别 println :会在输出完信息后进行换行,产生一个新行 print: 不会产生新行 3.println更简洁, print更灵活 print可以后面跟"\n"来达到和println一样的效果 也可以跟&

java中System.out.print()与System.out.println()与System.out.printf()的差别

System.out.print()与System.out.println()与System.out.printf()的差别 1.System.out.print(): 输出不换行,比如: System.out.print("a"); System.out.print("b"); 结果: ab 2.System.out.println():输出后换行,比如: System.out.println("a"); System.out.println(

System.out.println与System.err.println的区别

public class Test2 { static { System.out.println("1"); } { System.out.println("2"); } public Test2() { System.out.println("3"); System.err.println("3"); } public static void main(String[] args) { new Test2(); } } Sy

System.out.println()和System.out.write()的区别

这两个函数一个是System.out.write()输出字符流,System.out.println()是输出字节流,很简单.看下面这个程序就明白了. //import java.util.*; public class Test { public static void main(String[] args){ // Scanner in = new Scanner(System.in); int a = 65; System.out.write(a); System.out.println(

System.out.println()和System.err.println()

在一次笔试中遇到了一个System.err.println()的输出,之前没有见过,回来查一查,自己还是见识太短,来补充一下. 首先看一看jdk中 来一个简单的实验 第一次显示 第二次显示 1. 发现并不是顺序输出的,而且err输出不是抢在out之前,就是紧跟在之后,之间的换行没有作用了,这是为什么呢? 顺序与预料的不同并不是因为err和out的区别导致,而是因为他们是两个流,由于缓存原因导致输出顺序不同. 2.System.out.println   能重定向到别的输出流,这样的话你在屏幕上将

java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err

操作系统一般都有三个标准文件描述符:标准输入,标准输出,标准出错 这是操作系统的一种抽象表达 不同的语言需要有不同的具体表达方式,当然也不过是另一种包装抽象 比如c++的  cin cout cerr Java中则是的System.in,System.out,System.err 示例 输出结果: ---------------- ---------------- 可以看得出来: 运行多次  err的打印信息位置是不固定的 看下JDK文档:   /** * The "standard"

java中System.out.println()打印输出结果

疑点:syso()是打印输出语句,打印的是什么? syso()不同情况下打印输出的结果不一样: 1. package com.briup; public class Syso { public static void main(String[] args) { int i = 1; System.out.println(i); } } 结果为:1 2. public class Syso { public static void main(String[] args) { //int i = 1

java中的system.out.println()和JSP中out.println()区别

out.println()输出到客户端.     在out.println()中,out是response的实例,是以response为对象进行流输出的,即将内容输出到客户端.如果在JSP页面中使用System.out.println(),在客户端只会输出一个空格. System.out.println()打印在控制台当中.     System.out.println()用的是标准输出流,这个是输出在控制台上的,而JSP不是控制台程序.不管是在JSP还是在JAVA程序中,System.out.

java中的system.out.println()和JSP中out.println()差别

out.println()输出到client.     在out.println()中,out是response的实例.是以response为对象进行流输出的,即将内容输出到client.假设在JSP页面中使用System.out.println(),在client仅仅会输出一个空格. System.out.println()打印在控制台其中.     System.out.println()用的是标准输出流,这个是输出在控制台上的.而JSP不是控制台程序.无论是在JSP还是在JAVA程序中,S