java io重定向,java中的标准重定向标准IO_java标准IO_java构建器_课课家
java 1.1在System类中添加了特殊的方法,允许我们重新定向标准输入、输出以及错误IO流。此时要用到下述简单的静态方法调用:
setIn(InputStream)
setOut(PrintStream)
setErr(PrintStream)
如果突然要在屏幕上生成大量输出,而且滚动的速度快于人们的阅读速度,输出的重定向就显得特别有用。在一个命令行程序中,如果想重复测试一个特定的用户输入序列,输入的重定向也显得特别有价值。下面这个简单的例子展示了这些方法的使用:
//: Redirecting.java
// Demonstrates the use of redirection for
// standard IO in Java 1.1
import java.io.*;
class Redirecting {
public static void main(String[] args) {
try {
BufferedInputStream in =
new BufferedInputStream(
new FileInputStream(
"Redirecting.java"));
// Produces deprecation message:
PrintStream out =
new PrintStream(
new BufferedOutputStream(
new FileOutputStream("test.out")));
System.setIn(in);
System.setOut(out);
System.setErr(out);
BufferedReader br =
new BufferedReader(
new InputStreamReader(System.in));
String s;
while((s = br.readLine()) != null)
System.out.println(s);
out.close(); // Remember this!
} catch(IOException e) {
e.printStackTrace();
}
}
} ///:~
这个程序的作用是将标准输入同一个文件连接起来,并将标准输出和错误重定向至另一个文件。
这是不可避免会遇到“反对”消息的另一个例子。用-deprecation标志编译时得到的消息如下:
Note:The constructor java.io.PrintStream(java.io.OutputStream) has been deprecated.
注意:不推荐使用构建器java.io.PrintStream(java.io.OutputStream)。
然而,无论System.setOut()还是System.setErr()都要求用一个PrintStream作为参数使用,所以必须调用PrintStream构建器。所以大家可能会觉得奇怪,既然Java 1.1通过反对构建器而反对了整个PrintStream,为什么库的设计人员在添加这个反对的同时,依然为System添加了新方法,且指明要求用PrintStream,而不是用PrintWriter呢?毕竟,后者是一个崭新和首选的替换措施呀?这真令人费解。
java io重定向,java中的标准重定向标准IO_java标准IO_java构建器_课课家相关推荐
- java io ioexception,java.io.IOException
catch(java.io.IOException e){ ECLIPSE下LWUIT问题啊??java.lang.ClassNotFoundException'>java.lang.Class ...
- Java IO篇 Java IO编程
Java IO 一.java io 概述 1.1 相关概念 二.Java IO类库的框架 2.1 Java IO的类型 2.2 IO 类库 三.Java IO的基本用法 3.1 Java IO :字节 ...
- java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader
java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...
- Sqoop进行导入数据到Hive时报错:ERRORtool.ImportTool:Importfailed:java.io.IOException:java.lang.ClassNotFoundExc
项目场景: 使用版本:Sqoop1.4.7.hive3.1.2 问题描述 在使用Sqoop进行MySQL数据导入到Hive的过程中出现一下错误提示.ERRORtool.ImportTool:Impor ...
- java.lang.Exception: java.io.IOException: java.lang.ClassNotFoundException: user_log
java.lang.Exception: java.io.IOException: java.lang.ClassNotFoundException: user_log java.lang.Excep ...
- hive命令出现问题Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URI
转载自 hive命令出现问题Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NE ...
- 解决Caused by: java.io.IOException: java.io.IOException: error=12, Cannot allocate memory
最近公司一台线上服务器的hbase的regionserver挂掉之后起不起来报错OOM. 这台机器同时装有cassandra,于是停掉cassandra释放内存,重启regionserver失败,同时 ...
- 启动nacos-server报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null
问题描述 运行nacos文件的startup.cmd启动nacos-server时报错:java.io.IOException: java.lang.IllegalArgumentException: ...
- java httpclient 重定向_httpclient 中post请求重定向
背景:使用httpclient 的post请求进行登录,需要重定向登录,请求重定向后的地址 在httpclient中post请求不像get请求自己可以重定向,实现方式是 判断post请求返回码是否是3 ...
最新文章
- CMAKE_CURRENT_BINARY_DIR
- 工业用微型计算机(23)-汇编语言基本结构
- py函数两个返回值_Python 函数为什么会默认返回 None?
- Office 365身份认证管理-添加并验证联合认证域
- python布尔类型运算_Python对象类型及其运算方法(详解)
- linux环境systwm.img解包,[教程] system.img解包打包的方法,方便菜鸟们制作直刷ROM...
- 剑指offer面试题25. 合并两个排序的链表(双指针)
- 顶点计划 挑战性课程讨论
- window下连接ubuntu mysql的问题
- 13.熟悉JDK的配置,环境变量
- STM32中使用MMA7660重力加速度传感器
- Qt之小学徒学习记录分享
- matlab simulink单相桥式逆变电路
- 2.智能快递柜(终端篇)
- html和jsp轮播,jsp页面、图片轮播
- LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW-RBP、SVNF-RBP)的MATLAB实现
- html修改当前窗口大小,设置HTML页面和浏览器窗口的大小
- 使用DISM维护Windows系统
- 错误接受率 (FAR), 错误拒绝率(FRR), 等错误率(EER)
- Firefox在线安装Firebug插件
热门文章
- 谈谈能带来高薪报酬的软件技术
- X 射线技术揭示芯片的秘密!
- 锤子濒危、金立倒闭,华米 OV 们如何艰难求生?
- 聚焦行业新风口 白鹭科技云游戏战略发布会成功举办
- 你不知道的三大 JavaScript “黑话”!
- Go 语言发布 2018 调查报告,最被诟病问题竟然是......
- javaweb实训第四天上午——员工管理系统-JavaBeanELJSTLMVC思想
- 961计算机组成原理,2017年华中科技大学附属协和医院961计算机组成原理考研强化模拟题...
- java软尾山地车评测_[渣图] 骑很慢的穷屌丝软尾历程
- ei eo eq什么意思_音响中的EQ是什么意思呀?