重定向是什么概念

import import public class J_Echo { public static void mb_echo(InputStream in) { try { while(true) { int i=in.read(); if(i==-1) break; char c=(char)i; System.out.print(c); } } catch(IOException e) { System.err.println("发生异常:"+e); e.printStackTrace(); } } public static void main(String args[]) { mb_echo(System.in); } }
这是第一个文件

import public class J_SetIn { public static void main(String args []) { try { System.setIn(new FileInputStream("test.txt")); J_Echo.mb_echo(System.in); } catch(Exception e) { System.err.println("发生异常"+e); e.printStackTrace(); } } }
这是重定向的例程,能具象的解释下什么是重定向吗