http://www.java3z.com/cwbwebhome/article/article5a/532.html
重定向标准流
下载源代码
〖 作者:站长整理 〗〖 大小:1k 〗〖 发布日期:2005-08-04 〗〖 浏览:145 〗
import java.io.*;
public class Redirect
{
public static void main (String args[])
{
InputStream origIn = System.in;
PrintStream origOut = System.out;
PrintStream origErr = System.err;
InputStream stdin = null;
try
{
stdin = new FileInputStream ("Redirect.in");
}
catch (Exception e)
{
System.exit (1);
}
// Create a new output stream for the standard output.
PrintStream stdout = null;
try
{
stdout = new PrintStream (
new FileOutputStream ("Redirect.out"));
}
catch (Exception e)
{
// Sigh. Couldn't open the file.
System.exit (1);
}
// Create new output stream for the standard error output.
PrintStream stderr = null;
try
{
stderr = new PrintStream (
new FileOutputStream ("Redirect.err"));
}
catch (Exception e)
{
// Sigh. Couldn't open the file.
System.exit (1);
}
origOut.println ("\n11111111");
System.out.println ("22222222222222");
origOut.println ("333333");
System.err.println ("4444444444444444444");
origErr.println ("55555555555555");
// Set the System out and err streams to use our replacements.
System.setIn ( stdin );//重定向标准输入流
System.setOut ( stdout );//重定向标准输出流
System.setErr ( stderr );//重定向错误流
origOut.println ("\666666666666666666");
System.out.println ("aaaaaaaaaaaaaa");
origOut.println ("777777777777");
System.err.println ("bbbbbbbbbbbbb");
origErr.println ("99999999999999999999999");
// Read some input and dump it to the console.
origOut.println ("\n11111111111111111111111");
int inChar = 0;
while (-1 != inChar)
{
try
{
inChar = System.in.read();
}
catch (Exception e)
{
// Clean up the output and bail.
origOut.print ("\n");
break;
}
origOut.write (inChar);
}
// Close the streams.
try
{
stdin.close ();
stdout.close ();
stderr.close ();
}
catch (Exception e)
{
origOut.println ("Redirect: Unable to close files!");
System.exit (1);
}
System.exit (0);
}
}
转载于:https://www.cnblogs.com/lexus/archive/2012/02/20/2359604.html