public class RedirectIn
{
public static void main(String[] args)
{
FileInputStream fis = null;
try
{
fis = new FileInputStream("RedirectIn.java");
//将标准输入重定向到fis输入流
System.setIn(fis);
//使用System.in创建Scanner对象,用于获取标准输入
Scanner sc = new Scanner(System.in);
//增加下面一行将只把回车作为分隔符
sc.useDelimiter("\n");
//判断是否还有下一个输入项
while(sc.hasNext())
{
//输出输入项
System.out.println("键盘输入的内容是:" + sc.next());
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
finally
{
if (fis != null)
{
try
{
fis.close();
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
}
}
public class RedirectOut
{
public static void main(String[] args)
{
PrintStream ps = null;
try
{
ps = new PrintStream(new FileOutputStream("out.txt"));
//将标准输出重定向到ps输出流
System.setOut(ps);
//向标准输出输出一个字符串
System.out.println("普通字符串");
//向标准输出输出一个对象
System.out.println(new RedirectOut());
}
catch (IOException ex)
{
ex.printStackTrace();
}
finally
{
if (ps != null)
{
ps.close();
}
}
}
}