`
qingdaoguy
  • 浏览: 23562 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java输入输出流重定向

 
阅读更多

 

     JAVA中,默认的输入是键盘,输出为显示器,而偶尔我们需要特定的输入流或输出流。在java中,这真不是一个问题!

 

     方法一:

           针对文件读写一类的,这时可以直接读取、写入文件。

           Java提供了丰富的文件对象,初学让人有些不知所措的。熟了就好。

           某种意义上,这不叫重定向,这里不妨理解成带上双引号的重定向吧!

      方法二:

           同样适用于文件读写,但当需要GUI控制台输入输出时,可以考虑下重定向。

           在Java的System类中提供了以下重定向函数:

                1)setErr(PrintStream err):重新分配“标准”错误输出流。

                2)setIn(InputStream in):重新分配“标准”输入流。

                3)setOut(PrintStream out):重新分配“标准”输出流。

           重定向功能不需要后,执行以下语句即可:

                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 IO期末复习||五类一接口

    Java IO五类一接口 文件操作类File、RandomAccessFile 字节输出流OutputStream、字节输入流InputStream 字符输出流Writer、字符输入流...打印流、输入输出重定向 Scanner类 字符编码 序列化操作标识接口Serialiable

    Java经典编程300例(完整版+源码

    实例013 重定向输出流实现程序日志 实例014 自动类型转换与强制类型转换 实例015 加密可以这样简单(位运算) 实例016 用三元运算符判断奇数和偶数 .  实例017 不用乘法运算符实现2×16 实例018 实现两个变量的...

    java7源码-crazyJava3_4:疯狂java3-4的学习

    java7 源码 crazyJava3_4 疯狂java3-4的学习 简单介绍 此代码,主要是为了学习java基础而创建 本代码中大部分代码是从疯狂java的源码中copy过来的....chapter15_04_输入输出流体系 chapter15_05_重定向标准输入输出

    Java经典编程源码基础例程300.zip

    实例013 重定向输出流实现程序日志 17 实例014 自动类型转换与强制类型转换 19 实例015 加密可以这样简单(位运算) 20 实例016 用三元运算符判断奇数和偶数 21 实例017 不用乘法运算符实现2×16 22 实例018 实现两...

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 ...11.8.2 使用ImageIO输入/输出位图 427 11.9 剪贴板 432 11.9.1 数据传递的类...

    java 编程入门思考

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 ...

    Java初学者入门教学

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 ...

    java联想(中文)

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 ...

    Java语言基础下载

    输出流及文档对象 546 简单的输入、输出例子 547 内容总结 551 独立实践 552 第二十八章: Servlet 553 学习目标 553 Java Servlet概述 554 Servlet能够做什么 554 Servlet的生命周期 557 Java Servlet API 560 Web...

    JAVA_Thinking in Java

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 ...

    Thinking in Java 中文第四版+习题答案

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 未改变的类 10.7.4 一个例子 10.7.5 重定向标准 ...

    Thinking in Java简体中文(全)

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 ...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 ...

    java应用软件程序设计

    78 实例31 火焰与水纹特效 82 实例32 盖房子特效 91 实例33 旋转的方块特效 95 实例34 光照效果特效 103 第3章 Java输入/输出编程 109 实例35 读取文件 110 实例36 写入文件 111 实例37 ...

    Java核心技术II(第8版)

    11.1.3 重定向输入和输出 11.1.4 调用脚本的函数和方法 11.1.5 编译脚本 11.1.6 一个示例:用脚本处理GUI事件 11.2 编译器API 11.2.1 编译便捷之法 11.2.2 使用编译工具 11.2.3 一个示例:动态Java代码生成 11.3 ...

    java面试宝典

    68、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 17 69、文件读写的基本类 17 70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 17 71、启动一个...

    Think in Java(中文版)chm格式

    10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 ...

    h_JAVA 2应用编程150例.rar

    第3章 Java输入/输出编程 109 实例35 读取文件 110 实例36 写入文件 111 实例37 压缩文件 112 实例38 打印文本文件 114 实例39 读取配置文件 115 实例40 流操作 117 实例41 管道操作 118 实例42 标准I/O重定向 121 ...

Global site tag (gtag.js) - Google Analytics