首页 > Java > java教程 > 正文

使用System.err和System.out的一些问题.

PHP中文网
发布: 2017-06-20 10:09:27
原创
1998 人浏览过

今天有位同事在使用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是蓝色的。

以上是使用System.err和System.out的一些问题.的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板