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

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

Java I/O重定向的更多相关文章

  1. Java 输入/输出——重定向标准输入/输出

    在System类中提供了如下三个重定向标准输入/输出方法. static void setErr​(PrintStream err) Reassigns the "standard" ...

  2. java.logging的重定向?

    接着昨天的工作. 上面说要重定向java.util.logging.Logger的输出, 发现也不是不可能. package jmx; import java.util.logging.FileHan ...

  3. Java 获取网络重定向文件的真实URL

    其实Java 使用HttpURLConnection下载的的时候,会自动下载重定向后的文件,但是我们无法获知目标文件的真实文件名,文件类型,用下面的方法可以得到真实的URL,下面是一个YOUKU视频的 ...

  4. Java 获取网络重定向URL(302重定向)

    方法1: import java.net.HttpURLConnection; import java.net.URL; import org.junit.Assert; import org.jun ...

  5. java WEB Response重定向和缓存控制

    package cn.com; import java.io.IOException; import javax.servlet.ServletException; import javax.serv ...

  6. java转发和重定向

    1,请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变.2,请求转发:服务器行为,request.ge ...

  7. Java从后台重定向(redirect)到另一个项目的方法

    (1)通过ModelAndView跳转 @RequestMapping("alipayforward") public ModelAndView alipayforward(Htt ...

  8. Java 转发和重定向的区别

    转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重定 ...

  9. java重定向与请求转发的区别

    最近工作不算太忙,今天在这里对java中的重定向和请求转发稍作总结,希望能帮助到大家. 请求转发: request.getRequestDispatcher().forward(); 重定向: res ...

随机推荐

  1. C辗转相除法求最大公约数的实现

    int gcd(int a, int b)//求最大公约数,a为分子,b为分母 { ) return a; return gcd(b,a%b); }

  2. algorithm@ dijkstra algorithm & prim algorithm

    #include<iostream> #include<cstdio> #include<cstring> #include<limits> #incl ...

  3. 10个强大的Apache开源模块

    1.单点登录模块 LemonLDAP LemonLdap可以很棒地实现Apache的SSO功能,并且可以处理超过 20 万的用户请求.LemonLdap支持Java, PHP, .Net, Perl, ...

  4. 教程-隐藏/显示任务栏-程序不在任务显示-全面控制Windows

    1.隐藏任务条 var  h:THandle; //变量h:=FindWindow('Shell_TrayWnd',nil);ShowWindow(h,SW_hide); 2.显示任务条h:=Find ...

  5. java-1-java开发环境安装及配置-绝对权威

    1,下载安装jdk1.8u45 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 一般安装目录 ...

  6. FindStringExact

          Code:: CComboBox::FindStringExact int FindStringExact( int nIndexStart, LPCTSTR lpszFind ) con ...

  7. java实现window phone推送通知

    package com.windowphone.text; import java.io.IOException;import java.io.OutputStream;import java.net ...

  8. 实现类似shared_ptr的引用计数

    13.27 定义使用引用计数版本的HasPtr #include<iostream> #include<string> #include<new> using na ...

  9. qt QSqlQuery

    QT数据库QSqlQuery   SQL执行操作 QSqlQuery提供了对数据库记录的Select.Insert.Update.Delete操作. SELECT操作: QSqlQuery query ...

  10. QT QSqlQuery QSqlQueryModel

      SQL执行操作 QSqlQuery提供了对数据库记录的Select.Insert.Update.Delete操作. SELECT操作: QSqlQuery query; query.exec(&q ...