1. java io 库采用Decorator设计模式
2. java io库中包括两种对象:处理字节序列的类(InputStream和OutputStream,读写操基于单字节)和处理Unicode字符的类(Reader和Writer,读写操作是基于双字节的 Unicode代码单元)。
3.类结构
InputStream(抽象类)
|--ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节
|--FileInputStream 从文件系统中的某个文件中获得输入字节
|--ObjectInputStream 对基本数据和对象进行反序列化
|--PipedInputStream 实现了pipe的概念,主要在线程中使用
|--SequenceInputStream 把多个InputStream合并为一个InputStream
|--StringBufferInputStream 将字符串读入输入流
|--FilterInputStream 过滤输入流的超类
|--BufferedInputStream 为另一个输入流添加缓冲输入以及支持 mark 和 reset 方法的能力
|--DataInputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型
|--PushbackInputSteam 为另一个输入流添加性能,即“推回 (push back)”或“取消读取 (unread)”一个字节的能力
OutputStream(抽象类)
|--ByteArrayOutputStream 此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长
|--FileOutputStream 将数据写入 File 或 FileDescriptor
|--ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream
|--PipedOutputStream可以将管道输出流连接到管道输入流来创建通信管道
|--FilterOutputStream 过滤输出流的所有类的超类
|--BufferedOutputStream实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统
|--DataOutputStream 允许应用程序以适当方式将基本 Java 数据类型写入输出流中
|--PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式
Reader(抽象类)
|--BufferedReader
|--CharArrayReader 与 ByteArrayInputStream对应
|--PipedReader 与PipedInputStream对应
|--StringReader 与StringBufferInputStream对应
|--InputStreamReader
|--FileReader 与FileInputStream对应
|--FilterReader
|--PushbackReader
Writer(抽象类)
|--BufferedWriter
|--CharArrayWriter
|--PipedWriter
|--PrintWriter
|--StringWriter
|--OutputStreamWriter
|--FileWriter
|--FilterWriter
4.三种IO性能比较:
在读写一个10k文件的时候,三种方式的耗时如下:
InputStreamReader And OutputStreamWriter : 63ms (可以设置文件的编码,如果不用buffer)
BufferedReader And BufferedWriter : 31ms
BufferedInputStream And BufferedOutputStream : 16ms
参考:http://zhoujingxian.iteye.com/blog/440806
分享到:
相关推荐
关于IO方面的知识。很基础,但很实用!!
java IO教程,java IO教程,java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程,java IO教程,java IO教程,java IO...
java IO
Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...
Java教程之javaIO详解Java教程之javaIO详解Java教程之javaIO详解
Java基础知识点,内容比较全面。 目录: 1.1 Java中的引用概念 1.2 Java多线程相关知识 1.3 Java中的垃圾回收算法 1.4 Java IO流相关知识 1.5 JVM ClassLoader机制 1.6 Java中的synchronized使用 1.7 Java中的...
IO流 javaio java 流
java io 结构图java io 结构图
JAVAIO流相关知识点,免费下载哦
1、Java IO_NIO 2、Java+IO.pdf
IO 简介,只看这篇,IO全部搞定,对于初学者来说,不可多得
第8章JavaIO第8章JavaIO第8章JavaIO
javaIO流javaIO流
java IO文档java IO文档java IO文档java IO文档java IO文档java IO文档
JAVA课件Java IO.ppt详细了解JAVA
java详细的知识点整理,包括:jvm原理、IO、类加载过程、集合、线程、反射、泛型等java基础,spring原理、特点,微服务架构、数据库引擎、消息组件、算法、数据结构等。偏理论的知识较多,主要用于面试。
适合初学者练手.在了解 javaIO理论知识的基础上进一步巩固和深入了解
java io.pdf java io.pdf
自己整理了一下javaIO流的相关知识点 用xmind软件做了一下
java io处理 方法java io处理 方法