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

System.err:标准错误输出流,此流已打开并准备接受输出数据,通常此流对应于显示器或者由主机环境或者用户指定的另一个输出目标。按照惯例,此输出流用于显示错误信息,或者显示那些即使用户输出流已经重定向到通常不被连续监视的某一文件或者其他目标,也应该立刻引起用户注意的其他信息。

System.out:标准输出流,此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。

同时使用System.out.println与System.err.println打印输入内容,结果看到的内容和预想的不一样,顺序与预料的不同并不是因为err和out的区别导致,而是因为他们是两个流,由于缓存原因导致输出顺序不同。

1、System.out.println能重定向到别的输出流,这样的话你在屏幕上将看不到打印的对象了,System.err.println只能在屏幕上实现打印,即使你重定向了也一样。

2、当向控制台输出信息时,开发者有两个选择:System.out和System.err。使用者更倾向于输出的是System.out,而如果是System.err则输出error。显而易见。

3、System.out可能会被缓冲,System.err不会

4、System.err和System.out就是错误输出和标准输出,如果你用Log4J记录日志的话,且设定错误等级的话,System.err的输出是将记录到日志中

5、输出设备是一样的,所以你看到的是一样的,System.seterr和System.setout是重定向两个流的方法

6、System.err是不缓冲的,所以优先级会高点,System.out是需要缓冲的,所以优先级会低点。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值