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));

          以本人的观点,除非迫不得已,最好不要用方法二,除非你信心十足,否则谨慎为好!

原文地址:https://www.cnblogs.com/diyishijian/p/4805221.html