System.in是标准输入流,默认可以从键盘读取字节数据,System.out是标准输出流,默认可以向控制台输出字符串和字节数据。
需要注意的是,标准输入流和输出流不需要关流,也可以所标准输入流和输出流只有一个,关流之后就无法再使用。一般来说,没有关联文件的流都不需要关流。
改变标准输入输出流
System.setIn(new FileInputStream("a.txt")); //改变标准输入流
System.setOut(new PrintStream("b.txt")); // 改变标注输出流
InputStream is = System.in; // 获取标准键盘输入流,默认指向键盘,改变后指向文件a.txt
PrintStream ps = System.out; // 获取标准输出流,默认指向控制台,改变后指向文件
int b;
while((b = is.read()) != -1)
ps.write(b);
is.close(); // 此时关联了文件,需要关流
ps.close();