Reader和Writer
当我们初次看见Reader和Writer类时,可能会以为这是两个用来替代InpuStream和OutputStream的类,但实际上并非如此,尽管一些原始的流类不在被使用,但是InpuStream和OutputStream在面向字节形式的I/O中仍可以提供极有价值的功能。Reader和Writer则提供兼容Unicode与面向字符的I/O功能。
一、数据的来源和去处
几乎所有的原始的Java I/O流类都有相应的Reader和Writer类来提供天然的Unicode操作。然后在某些场合,面向字节的InputStream和OutputStream才是正确的解决方案;特别是,java.util.zip类库就是面向字节而不是字符。因此,最明智的做法是尽量尝试使用Reader和Writer,一旦程序代码无法成功编译,我们就会发现自己不得不使用面向字节的类库。
来源于去处 Java1.0 |
相应的 Java1.1 |
InputStream |
Reader |
OutputStream |
Writer |
FileInputStream |
FileReader |
FileOutputStream |
FileWriter |
StringBufferInputStream |
StringReader |
|
StringWriter |
ByteArrayInputStream |
CharArrayReader |
ByteArrayOutoutStream |
CharArrayWriter |
PipedInputStream |
PipedReader |
PipedOutputStream |
PipedWriter |
大体上我们会发现,这两个不同的继承层次结构中的接口即使不能说完全相同,但也是非常相似。
二、更改流的行为
三、未发生变化的类
分享到:
相关推荐
描述java的I/o系统,描述了java中文件系统的处理,数据流的处理
Java I/O学习笔记: 磁盘操作 字节操作 字符操作 对象操作 网络操作 NIO & AIO Java I/O Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,意味着可以在不同的操作系统上运行...
简单介绍了java 的输入输出系统中类的使用,java1.0和java1.1中的类的来源去向
NULL 博文链接:https://xace.iteye.com/blog/703920
本系统是基于JAVA开发平台,运用Socket网络编程,I/O文件流,线程,Swing图形界面等技术,实现的一套标准化考试系统。通过该系统可以完成多个科目的标准化考试工作。 该系统共分为三个模块:考生客户端,服务器端和...
什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O ...而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java I/O 模型来提高系统的并发量和可用性。,需要的朋友可以参考下
java使用简单的I/O编写的投票系统
本博文主要讨论I/O在底层是如何工作的。本文服务的读者,迫切希望了解Java I/O操作是在机器层面如何进行映射,以及应用运行时硬件都做了什么。...通常,进程执行操作系统的I/O请求包括数据从缓冲区排
彻底明白 Java 语言中的IO系统 彻底明白 Java 语言中的IO系统
主要介绍了Java I/O深入学习之File和RandomAccessFile, I/O系统即输入/输出系统,对于一门程序语言来说,创建一个好的输入/输出系统并非易事。在充分理解Java I/O系统以便正确地运用之前,我们需要学习相当数量的...
NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。
对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务,在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是...
编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象,本文为大家介绍Java中I/O系统基础知识
这个是我基于I/O流设计的图书馆管理系统项目总结,是有篇文章的,如果实在不会整再来下载这个完整的。文章:https://blog.csdn.net/GB__LaoWang/article/details/115914058
这段代码实现了一个简单的文件管理系统,其中使用了Java的I/O类库。在类的构造方法中,首先创建了一个File对象来表示要操作的文件,如果该文件不存在则创建新文件。然后通过FileReader和BufferedReader类来读取文件...
彻底明白 Java 语言中的IO系统 .pdf
JAVA NIO有两种解释:一种叫非阻塞IO(Non-blocking I/O),另一种也叫新的IO(New I/O),其实是同一个概念。它是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为...
彻底明白Java的IO系统,知道I/O内部运行机制。
本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了...
文件批量处理用(Eclipse)Java实现,模块为了方便管理文件而设计,通过本模块可以快速地实现文件的批量复制、批量删除、批量重命名、文件分类等。内含设计文档,包括使用说明。还有打包好的可运行的jar文件。