实例三:标准IO重定向
import java.io.PrintStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class IO_Redirect{
public static void main (String[] args) throws IOException{
PrintStream cons=System.out; //保存标准输出流,以供程序结束时恢复
BufferedInputStream in=new BufferedInputStream(new FileInputStream("in.dat"));
PrintStream out=new PrintStream(new BufferedOutputStream(
new FileOutputStream("out.dat")));
System.setIn(in); System.setOut(out);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//注意:上面的System.in不再代表键盘,因为其中的in是重定向后的输入流(源是in.dat)
String s;
while((s=br.readLine())!=null)
System.out.println(s);
//注:上面的System.out也不是代表显示器,原因与System.in类似
out.close();
System.setOut(cons);
}
}