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构建器_课课家相关推荐

  1. java io ioexception,java.io.IOException

    catch(java.io.IOException e){ ECLIPSE下LWUIT问题啊??java.lang.ClassNotFoundException'>java.lang.Class ...

  2. 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 :字节 ...

  3. java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader

    java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...

  4. Sqoop进行导入数据到Hive时报错:ERRORtool.ImportTool:Importfailed:java.io.IOException:java.lang.ClassNotFoundExc

    项目场景: 使用版本:Sqoop1.4.7.hive3.1.2 问题描述 在使用Sqoop进行MySQL数据导入到Hive的过程中出现一下错误提示.ERRORtool.ImportTool:Impor ...

  5. 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 ...

  6. 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 ...

  7. 解决Caused by: java.io.IOException: java.io.IOException: error=12, Cannot allocate memory

    最近公司一台线上服务器的hbase的regionserver挂掉之后起不起来报错OOM. 这台机器同时装有cassandra,于是停掉cassandra释放内存,重启regionserver失败,同时 ...

  8. 启动nacos-server报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null

    问题描述 运行nacos文件的startup.cmd启动nacos-server时报错:java.io.IOException: java.lang.IllegalArgumentException: ...

  9. java httpclient 重定向_httpclient 中post请求重定向

    背景:使用httpclient 的post请求进行登录,需要重定向登录,请求重定向后的地址 在httpclient中post请求不像get请求自己可以重定向,实现方式是 判断post请求返回码是否是3 ...

最新文章

  1. CMAKE_CURRENT_BINARY_DIR
  2. 工业用微型计算机(23)-汇编语言基本结构
  3. py函数两个返回值_Python 函数为什么会默认返回 None?
  4. Office 365身份认证管理-添加并验证联合认证域
  5. python布尔类型运算_Python对象类型及其运算方法(详解)
  6. linux环境systwm.img解包,[教程] system.img解包打包的方法,方便菜鸟们制作直刷ROM...
  7. 剑指offer面试题25. 合并两个排序的链表(双指针)
  8. 顶点计划 挑战性课程讨论
  9. window下连接ubuntu mysql的问题
  10. 13.熟悉JDK的配置,环境变量
  11. STM32中使用MMA7660重力加速度传感器
  12. Qt之小学徒学习记录分享
  13. matlab simulink单相桥式逆变电路
  14. 2.智能快递柜(终端篇)
  15. html和jsp轮播,jsp页面、图片轮播
  16. LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW-RBP、SVNF-RBP)的MATLAB实现
  17. html修改当前窗口大小,设置HTML页面和浏览器窗口的大小
  18. 使用DISM维护Windows系统
  19. 错误接受率 (FAR), 错误拒绝率(FRR), 等错误率(EER)
  20. Firefox在线安装Firebug插件

热门文章

  1. 谈谈能带来高薪报酬的软件技术
  2. X 射线技术揭示芯片的秘密!
  3. 锤子濒危、金立倒闭,华米 OV 们如何艰难求生?
  4. 聚焦行业新风口 白鹭科技云游戏战略发布会成功举办
  5. 你不知道的三大 JavaScript “黑话”!
  6. Go 语言发布 2018 调查报告,最被诟病问题竟然是......
  7. javaweb实训第四天上午——员工管理系统-JavaBeanELJSTLMVC思想
  8. 961计算机组成原理,2017年华中科技大学附属协和医院961计算机组成原理考研强化模拟题...
  9. java软尾山地车评测_[渣图] 骑很慢的穷屌丝软尾历程
  10. ei eo eq什么意思_音响中的EQ是什么意思呀?