时间:2021-05-19
今天有位同事在使用System.err和System.out遇上了一些小问题.
看了些资料总结下:
1.JDK文档对两者的解释:
out:“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
err:“标准”错误输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。按照惯例,此输出流用于显示错误消息,或者显示那些即使用户输出流(变量 out 的值)已经重定向到通常不被连续监视的某一文件或其他目标,也应该立刻引起用户注意的其他信息。
2.out和err的一个区别是,out往往是带缓存的,而err没有缓存(默认设置,可以改)。所以如果你用标准出错打印出来的东西可以马上显示在屏幕,而标准输出打印出来的东西可能要再积累几个字符才能一起打印出来。如果你在应用中混用标准输出和标准出错就可能看到这个问题。
测试代码:
public class Test2 { static{ System.out.println("1"); } public static void main(String[] args) { System.err.println("2"); new Test2(); } public Test2() { System.out.println("3"); } }测试结果:1,3的位置相对不变,2的位置随机出现.尽量避免混用!
3.如果使用了log4j的日志记录,System.err会被记入日志,System.out不会
ps:打印System.err在eclipse是红色的。System.out是蓝色的。
以上这篇java基础(System.err和System.out)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
首先看如下代码示例:System.out.println(0.05+0.01);System.out.println(0.05-0.03);System.out
为什么使用日志打印而不是使用System.out.println()?System.out是一个io流如果使用它打印大批量数据会占用大量的资源spring默认使
以java为例,system.out.println是将内容输出到屏幕上,并且换行。而system.out.println()则是打印一个空白行。System.
本文实例汇总了Java的System.getProperty()方法获取信息的用法。分享给大家供大家参考。具体如下:复制代码代码如下:System.out.pr
如下所示:System.out.println("++++++++++++++++++++++++");Stringpath=System.getPropert