`

Java的标准I/O剖析

 
阅读更多

      System.out是一个PrintStream,而PrintStream是一个OutputStream。PrintWriter有一个可以接受OutputStream做为参数的构造器,所以可以将System.out转换成PrintWriter:

               PrintWriter writer=new PrintWriter(System.out,true);
		writer.println("nihao"+"    :wo 是否");

 要使用有两个参数的PrintWriter的构造器,并将第二个参数设置为true,以便开启自动清空功能;否则,你可能得不到结果。

 

重定向标准I/O:将from.txt中的内容转存到to.txt文件中。

 

  注意:setIn(InputStream)

            setOut(PrintStream)

            setErr(PrintStream)

      可以对标准输入,标准输出,标准错误进行I/O重定向。

package com.wjy.multithread;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;

public class ReDirect {
	public static void main(String args[]) {
		PrintStream console=System.out;
		try {
			PrintStream out=new PrintStream(new BufferedOutputStream(new FileOutputStream(new File("./file/to.txt"))));
			BufferedInputStream in=new BufferedInputStream(new FileInputStream(new File("./file/from.txt")));
			System.setIn(in);
			System.setOut(out);
			String s;
			BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
			while((s=reader.readLine())!=null){
				System.out.println(s);
			}
			out.close();
			System.setOut(console);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}

 

分享到:
评论

相关推荐

    深入分析 Java I/O 的工作机制(转载)

    NULL 博文链接:https://liulijun-cn-2011.iteye.com/blog/1466273

    Java使用I/O流读取文件内容的方法详解

    主要介绍了Java使用I/O流读取文件内容的方法,结合实例形式详细分析了java使用I/O流读取文件常见操作技巧,需要的朋友可以参考下

    深入分析JAVA IO

    本文阐述的内容较多,从 Java 基本 I/O 类库结构开始说起,主要介绍了磁盘 I/O 和网络 I/O 的基本工作方式,最后介绍了关于 I/O 调优的一些方法。

    Java非阻塞I/O在乡村可视化远程医疗系统中的应用

    分析了乡村可视化远程医疗系统采用多线程技术实现网络通信存在的不足,阐述了Java非阻塞I/O的基本原理。系统采用非阻塞I/O通信技术只使用一个线程并行实现大量客户无阻塞的通信,有效地减少了系统开销,较好地提升了...

    JavaIO技术分析.rar_javaIO

    Java I/O API之性能分析 IO API的可伸缩性对Web应用有着极其重要的意义。Java 1.4版以前的API中,阻塞I/O令许多人失望。从J2SE 1.4版本开始,Java终于有了可伸缩的I/O API。本文分析并计算了新旧I/O API在可伸缩性...

    高性能IO模型浅析

    (3)IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。 (4)异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非...

    深入分析 Java IO 的工作机制1

    Java 的 I/O 操作类在包 java.io 下,大概有将近 80 个类,但是这些类大概可以分成四组,分别是:基于字节操作的 I/O 接口:InputStr

    轻量级语音分析

    Render audio spectrogram image (Requires Java 2D & Java Image I/O, Android non-compatible) Documentation musicg page: This site contains technical documents and examples on how to use musicg in your ...

    Java NIO工作原理的全面分析

    JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并...

    深入分析Java Web技术内幕高清PDF版.zip

    其次深入介绍Java技术,包括I/O技术、中文编码问题、Javac编译原理、class文件结构解析、ClassLoader工作机制及JVM的内存管理等。最后介绍Java服务端技术,主要包括Servlet、Session与Cookie、Tomcat与Jetty服务器、...

    java深度历险

    序 1 目录 2 JAVA字节代码的操纵 4 动态编译JAVA源文件 4 ...JAVA I/O 45 流 45 缓冲区 47 字符与编码 48 通道 49 参考资料 52 JAVA安全 53 认证 53 权限控制 55 加密、解密与签名 57 安全套接字连接 58 参考资料 59

    Netty 是如何支撑高性能网络通信的.docx

    传统的 RPC 框架或者基于 RMI 等方式的远程过程调用采用了同步阻塞 I/O,当客户端的并发压力或者网络时延增大之后,同步阻塞 I/O 会由于频繁的 wait 导致 I/O 线程经常性的阻塞,由于线程无法高效的工作,I/O 处理...

    深入分析java web

    这本书主要是分成十几个知识点,都是关于Web的,比如I/O,javac编译原理,class文件结构,JVM等

    深入分析Java Web技术内幕 修订版.pdf

    其次深入介绍了Java 技术,包括I/O 技术、中文编码问题、Javac 编译原理、class 文件结构解析、ClassLoader 工作机制及JVM 的内存管理等。最后介绍了Java 服务端技术,主要包括Servlet、Session 与Cookie、Tomcat 与...

    Java程序设计与开发源代码

    本书以Java语言面向对象的编程理念为出发点,循序渐进地介绍Java语言的基本内容,包括基本语法、数组、字符串、类和对象、I/O流和异常处理、用户界面类和Applet、网络和多线程编程;同时还着重介绍几种Java核心技术...

    Java就业培训教程 mobi epub

    在以后的章节中,作者始终以“启发编程思想,培养编程感觉”为指导,以剖析典型实例、分析源码结构含义、解析常见问题等方式,从高屋建瓴的角度,用通俗易懂的文字,讲解了多线程、常用Java类、Java中的I/O(输入...

    Thinking in Java 3th Edition(中文版)

    章节 1. 对象引论 2. 一切都是对象 3. 控制程序流 ...12. Java I/O系统 13. 并发 14. 创建窗口和Applet程序 15. 问题发现 16. 分析和设计 附录A. 对象的传递和返回 附录B. JAVA编程指南 附录C. 补充 附录D. 资源

    回顾 Java SE 基础实现代码 Java学习资料 自学资料

    I/O 反射 多线程 网络通信 经典项目( IMS: 进销存管理系统) 系统分析与设计 开发环境与软件架构 数据库设计 项目组织结构 公共类 功能模块 系统登录模块 进货单模块 销售单模块 库存盘点模块 数据库备份与恢复 ...

    张孝祥 Java就业培训教程高清晰版

    在以后的章节中,作者始终以“启发编程的思想,培养编程的感觉”为指导,以剖析典型实例、分析源码结构含义、解析常见问题等方式,从高屋建瓴的角度,用通俗易懂的文字,讲解了多线程、常用Java类、Java中的I/O(输入...

    《Java 就业培训教程》张孝祥 pdf part 1 无效勿下

    在以后的章节中,作者始终以“启发编程思想,培养编程感觉”为指导,以剖析典型实例、分析源码结构含义、解析常见问题等方式,从高屋建瓴的角度,用通俗易懂的文字,讲解了多线程、常用Java类、Java中的I/O(输入...

Global site tag (gtag.js) - Google Analytics