Tip 31. What's the difference between the two: System.err. and
System.out? When should we use System.err?
Answer 1: System.out leads the output to the standard output stream (normally
mapped to your console screen), System.err leads the output to the standard error
stream (by default the console, too).
The standard output should be used for regular program output, the standard error
for error messages. If you start your console program regularly both message types
will appear on your screen.
But you may redirect both streams to different destinations (e.g. files), e.g. if you
want to create an error log file where you don't want to be the regular output in.
On an UNIX you may redirect the output as follows:
java yourprog.class >output.log 2>error.log
this causes your regular output (using System.out) to be stored in
output.log and your error messages (using System.err) to be stored in error.log
Answer 2: System.err is a "special" pipe that usually is directed to the standard
console. You can redirect the System.out with the normal pipe control (| or >), but
System.err no. If you want to put
both the "normal" output and the "error" output to a file you must use the special
redirect 2>.
This allow you to send normal messages into a file or in the /null
black hole, but still receive the error messages on the console.
System.out? When should we use System.err?
Answer 1: System.out leads the output to the standard output stream (normally
mapped to your console screen), System.err leads the output to the standard error
stream (by default the console, too).
The standard output should be used for regular program output, the standard error
for error messages. If you start your console program regularly both message types
will appear on your screen.
But you may redirect both streams to different destinations (e.g. files), e.g. if you
want to create an error log file where you don't want to be the regular output in.
On an UNIX you may redirect the output as follows:
java yourprog.class >output.log 2>error.log
this causes your regular output (using System.out) to be stored in
output.log and your error messages (using System.err) to be stored in error.log
Answer 2: System.err is a "special" pipe that usually is directed to the standard
console. You can redirect the System.out with the normal pipe control (| or >), but
System.err no. If you want to put
both the "normal" output and the "error" output to a file you must use the special
redirect 2>.
This allow you to send normal messages into a file or in the /null
black hole, but still receive the error messages on the console.
解决方案 »
- Comparable compareTo
- 《Thinking in Java》里的“static Test monitor = new Test()”
- 这个常量是什么情况?
- 请教一个小问题(ubuntu linux+sun jdk 6 环境编译)
- 如何读取文件夹中的文件夹名
- 求助,在线等
- 請問誰有jdk1.4的類庫參考的電子書?
- 请问如何在JTable中加入Checkbox?
- Could not get JDBC Connection; nested exception is java.sql.SQLException: interr
- 为什么接口明明没有方法体,但是还有方法描述?
- 求解,http协议下的Referer表示何意义,为何用window.open("mainservlt")打开新窗口,request.getHead("Referer")值为null?
- 哪里有WEBSPHERE的相关资料,我急需要!!谢谢大家,如果有文档,我的地址是[email protected]
默认两者都是屏幕的
但是你在运行的命令上可以指定输出到一个文件的。
如:java Test >out.txt 2>err.txt
那么System.out.print输出到out.txt
System.err.print()输出到err.txt