首页
TVP 最新优惠活动
学习
活动
专区
工具
返回腾讯云官网
本文关键词:
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的打印信息位置是不固定的
/**
* The "standard" output stream. This stream is already
* open and ready to accept output data. Typically this stream
* corresponds to display output or another output destination
* specified by the host environment or user.
* <p>
* For simple stand-alone Java applications, a typical way to write
* a line of output data is:
* <blockquote><pre>
* System.out.println(data)
* </pre></blockquote>
* <p>
* See the <code>println</code> methods in class <code>PrintStream</code>.
*
* @see java.io.PrintStream#println()
* @see java.io.PrintStream#println(boolean)
* @see java.io.PrintStream#println(char)
* @see java.io.PrintStream#println(char[])
* @see java.io.PrintStream#println(double)
* @see java.io.PrintStream#println(float)
* @see java.io.PrintStream#println(int)
* @see java.io.PrintStream#println(long)
* @see java.io.PrintStream#println(java.lang.Object)
* @see java.io.PrintStream#println(java.lang.String)
*/
public static final PrintStream out = null;
/**
* The "standard" error output stream. This stream is already
* open and ready to accept output data.
* <p>
* Typically this stream corresponds to display output or another
* output destination specified by the host environment or user. By
* convention, this output stream is used to display error messages
* or other information that should come to the immediate attention
* of a user even if the principal output stream, the value of the
* variable <code>out</code>, has been redirected to a file or other
* destination that is typically not continuously monitored.
*/
public static final PrintStream err = null;
是System 的两个内置变量 都是 PrintStream 类型的
out:
“标准”输出流。此流已打开并准备接受输出数据。
通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
err:
“标准”错误输出流。此流已打开并准备接受输出数据。
通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
按照惯例,此输出流用于显示错误消息
或者显示那些即使用户输出流(变量 out 的值)已经重定向到通常不被连续监视的某一文件或其他目标,也应该立刻引起用户注意的其他信息。
也就是说,out用于输出,err用于一切你认为逻辑上是错误的东西,需要引起注意的东西
System.out在JVM和操作系统都具有缓存功能,
就是你输出的东西不一定实时输出,有时候会积攒到一定数量才会输出
System.err会实时输出(默认设置,可以改)
这也是为什么err打印位置不固定的原因
如果使用了log4j的日志记录,且设定错误等级的话 System.err会被记入日志,System.out不会
而且一般在IDE中使用err ,都会变色的比如eclipse中红色
System.setErr()System.setOut() 可以重定向这两个流
System.setOut(new PrintStream(new FileOutputStream(new File( "d://out.txt "))));
System.setErr(new PrintStream(new FileOutputStream(new File( "d://err.txt "))));
重定向后没有输出了
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
玻璃钢生产厂家辽宁商场美陈雕塑制作玻璃钢恐龙雕塑批发代理烟台火烈鸟玻璃钢雕塑定制临夏玻璃钢雕塑制作厂家商场美陈制作设计公司商场美陈定做玻璃钢雕塑设计工作室玻璃钢浮雕不锈钢公园雕塑厂永济玻璃钢座椅雕塑玻璃钢仿真盘子雕塑文山玻璃钢雕塑零售天津玻璃钢雕塑材质辽宁玻璃钢卡通雕塑制作贵港市玻璃钢雕塑湖州卡通玻璃钢雕塑生产厂家丹棱玻璃钢卡通雕塑泡沫玻璃钢雕塑制作工艺优惠的玻璃钢雕塑设计甘肃玻璃钢马雕塑厂家肇庆玻璃钢动物雕塑图片哈尔滨玻璃钢动物雕塑玻璃钢马雕塑艺术小品仿真透明玻璃钢雕塑制作大型玻璃钢彩绘雕塑成都玻璃钢雕塑公司厂家南昌学校玻璃钢雕塑优势嘉兴玻璃钢雕塑制作厂家七龙珠商场美陈济南玻璃钢小猪佩奇雕塑玻璃钢卡通兔雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万