如果在程序的其他地方进行了标准I/O的操作,而之后我们发现这些操作影响到了我们的阅读,可以利用一个重定向的函数,讲这些标准I/O重定向到文件上。
System类提供了以下的静态方法以供调用:
setIn(InputStream)
setOut(PrintStream)
setErr(PrintStream)
具体例子如下,抛出异常:
PrintStream console = System.out;//保存标准输出
//待重定向到的文件io流
BufferedInputStream in = new BufferedInputStream(
new FileInputStream
(filename1
));
PrintStream out = new PrintStream (
new BufferedOutputStream(
new FileOutputStream
(filename2
)));//为了输出可读的
//数据,所以使用了PrintStream。
//进行重定向
System.setIn(in);
System.setOut(out);
System.setErr(out);
//扫尾工作
out.close();
System.setOut(console);