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));
以本人的观点,除非迫不得已,最好不要用方法二,除非你信心十足,否则谨慎为好!
Java I/O重定向的更多相关文章
- Java 输入/输出——重定向标准输入/输出
在System类中提供了如下三个重定向标准输入/输出方法. static void setErr(PrintStream err) Reassigns the "standard" ...
- java.logging的重定向?
接着昨天的工作. 上面说要重定向java.util.logging.Logger的输出, 发现也不是不可能. package jmx; import java.util.logging.FileHan ...
- Java 获取网络重定向文件的真实URL
其实Java 使用HttpURLConnection下载的的时候,会自动下载重定向后的文件,但是我们无法获知目标文件的真实文件名,文件类型,用下面的方法可以得到真实的URL,下面是一个YOUKU视频的 ...
- Java 获取网络重定向URL(302重定向)
方法1: import java.net.HttpURLConnection; import java.net.URL; import org.junit.Assert; import org.jun ...
- java WEB Response重定向和缓存控制
package cn.com; import java.io.IOException; import javax.servlet.ServletException; import javax.serv ...
- java转发和重定向
1,请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变.2,请求转发:服务器行为,request.ge ...
- Java从后台重定向(redirect)到另一个项目的方法
(1)通过ModelAndView跳转 @RequestMapping("alipayforward") public ModelAndView alipayforward(Htt ...
- Java 转发和重定向的区别
转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重定 ...
- java重定向与请求转发的区别
最近工作不算太忙,今天在这里对java中的重定向和请求转发稍作总结,希望能帮助到大家. 请求转发: request.getRequestDispatcher().forward(); 重定向: res ...
随机推荐
- [Buffalo] 一些SQL函数
取得当前时间的函数:GETDATE() 计算时间的函数:DATEADD(datepart,number,date) 计算两个时间差额:DATEDIFF(datepart,startdate,endda ...
- 【原】 Spark中Worker源码分析(二)
继续前一篇的内容.前一篇内容为: Spark中Worker源码分析(一)http://www.cnblogs.com/yourarebest/p/5300202.html 4.receive方法, r ...
- bzoj 2285 [Sdoi2011]保密(二分,spfa + 最大流)
Description 现在,保密成为一个很重要也很困难的问题.如果没有做好,后果是严重的.比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了. 当然,对保密最需求的当然是军方,其次才是 ...
- NOIP2015 运输计划(二分+LCA+差分)
4326: NOIP2015 运输计划 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 308 Solved: 208[Submit][Status] ...
- POJ1873 - Balance(01背包)
题目大意 现有一个天平,它有C个挂钩和G个砝码,问有多少种方法可以使得天平平衡(砝码必须用完) 题解 其实就是让背包容量为0的方法有多少种方法,但是这样的话背包容量会出现负数,所以可以平移一下,背包容 ...
- POJ1836 - Alignment(LIS)
题目大意 一队士兵排成一条直线,问最少出队几个士兵,使得队里的每个士兵都可以看到又端点或者左端点 题解 从左往右搞一遍LIS,然后从右往左搞一遍LIS,然后枚举即可... 代码: #include&l ...
- 给新手的 10 个有用 Linux 命令行技巧
我记得我第一次使用 Linux 的时候,我还习惯于 Windows 的图形界面,我真的很讨厌 Linux 终端.那时候我觉得命令难以记忆,不能正确使用它们.随着时间推移,我意识到了 Linux 终端的 ...
- devexpress中gridcontrol头部添加垂直线(右边框)
winform开发,用devexpress中的gridcontrol控件,头部默认是3D样式,当客户希望像内容一样扁平化显示且需要添加垂直线(右边框)时恶梦开始了..经过一阵摸索发现可以这样解决: 1 ...
- 简单计算器 (c语言课程设计)
可以实现简单的加减乘除四则运算 #include<stdio.h> #include<string.h> #define MAX 10100 int main() { int ...
- mmsql查看最近操作日志
SELECT TOP 2000 query_stats.query_hash AS "Query Hash", Sum(Query_Stats.total_logical_Read ...