为了支持标准输入输出设备,Java定义了3个特殊的流对象常量:
错误输出:public static final PrintStream err;
系统输出:public static final PrintStream out;
系统输入:public static final InputStream in。
(1)System.in通常对应键盘,属于InputStream类型,程序使用System.in可以读取从键盘上输入的数据。
(2)System.out通常对应显示器,属于PrintStream类型,PrintStream是OutputStream的一个子类,程序使用System.out可以将数据输出到显示器上。
(3)键盘可以被当做一个特殊的输入流,显示器可以被当做一个特殊的输出流。
(4)System.err则是专门用于输出系统错误的对象,它可视为特殊的System.out。按照Java原本的设计,System.err输出的错误是不希望用户看见的,而System.out的输出是希望用户看见的。
【示例】
package com.xy.io;
public class ErrDemo {
public static void main(String[] args) throws Exception {
try {
Integer.parseInt("abc");
}
catch(Exception e) {
System.err.println(e);
System.out.println(e);
}
}
}
【结果】