此处的Java IO指Java 1.4引入NIO之前的Java API,关于NIO的特性,我们将在后续文章中介绍。
Java中以IO流的方式进行IO操作的处理,提供了如下分类的API。
1. 字节流
1.1文件IO字节流
1.2 缓冲IO字节流
2. 字符流,在Java应用本地的字符编码与Java内部编码之间进行转换
Java内部采用Unicode编码字符
Java应用本地编码可能是GBK等
2.1 文件IO字符流
2.2 缓冲IO字符流
3. 字节流与字符流之间的桥接
java.io.DataInputStream实现类,读取为Java基本类型数据,线程不安全
java.io.ObjectInputStream实现类,扩展java.io.InputStream抽象类
java.io.ObjectOutputStream实现类,扩展java.io.OutputStream抽象类
Java中以IO流的方式进行IO操作的处理,提供了如下分类的API。
1. 字节流
- java.io.InputStream抽象类,字节输入流
- java.io.OutputStream抽象类,字节输出流
1.1文件IO字节流
- java.io.FileInputStream类,扩展java.io.InputStream抽象类
- java.io.FileOutputStream类,扩展java.io.OutputStream抽象类
1.2 缓冲IO字节流
- java.io.BufferedInputStream类,扩展java.io.InputStream抽象类
- java.io.BufferedOutputStream类,扩展java.io.OutputStream抽象类
2. 字符流,在Java应用本地的字符编码与Java内部编码之间进行转换
Java内部采用Unicode编码字符
Java应用本地编码可能是GBK等
- java.io.Reader抽象类,字符输入流
- java.io.Writer抽象类,字符输出流
2.1 文件IO字符流
- java.io.FileReader类,扩展java.io.Reader抽象类
- java.io.FileWriter类,扩展java.io.Writer抽象类
2.2 缓冲IO字符流
- java.io.BufferedReader类,扩展java.io.Reader抽象类
- java.io.BufferedWriter类,扩展java.io.Writer抽象类
3. 字节流与字符流之间的桥接
- java.io.InputStreamReader类,扩展java.io.Reader抽象类
- java.io.OutputStreamWriter类,扩展java.io.Writer抽象类
4. 字节流与Java类型
4.1 数据流(字节流与Java基本类型数据之间的转换)
- java.io.DataInput接口
java.io.DataInputStream实现类,读取为Java基本类型数据,线程不安全
- java.io.DataOutput接口
java.io.DataOutputStream实现类
- java.io.ObjectInput接口,继承java.io.DataInput接口
java.io.ObjectInputStream实现类,扩展java.io.InputStream抽象类
- java.io.ObjectOutput接口,继承java.io.DataOutput接口
java.io.ObjectOutputStream实现类,扩展java.io.OutputStream抽象类