Java I/O重定向
1、输入重定向
命令行:java [java类文件] < [输入文件路径名]
代码:InputStream inputStream = new FileInputStream(
"[输入文件路径名]");
System.setIn(inputStream);
Scanner scanner = new Scanner(System.in);
2、输出重定向
命令行:java [java类文件] > [输出文件路径名]
Eclipse:Run-->Run Configurations-->Common-->勾选File,输入[输出文件路径名]
代码:PrintStream printStream = new PrintStream(
"C:/Users/Administrator/Desktop/output.txt");
System.setOut(printStream);
3、恢复重定向
重定向功能不需要后,执行以下语句即可:
1)恢复“标准”错误输出流
FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);
System.setErr(new PrintStream(new BufferedOutputStream(fdErr, 128), true));
2)恢复“标准”输入流
FileInputStream fdIn = new FileInputStream(FileDescriptor.in);
System.setIn(new BufferedInputStream(fdIn));
3)恢复“标准”输出流
FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);
setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
以本人的观点,除非迫不得已,最好不要用方法二,除非你信心十足,否则谨慎为好!