Java IO概述

此处的Java IO指Java 1.4引入NIO之前的Java API,关于NIO的特性,我们将在后续文章中介绍。
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基本类型数据
java.io.DataInputStream实现类,读取为Java基本类型数据,线程不安全

  • java.io.DataOutput接口
将Java基本类型数据转换为字节序列并写入字节流

java.io.DataOutputStream实现类


4.2 对象流(字节流与Java基本类型和对象类型数据之间的转换)
  • java.io.ObjectInput接口,继承java.io.DataInput接口
读取字节流为Java基本类型数据、对象、数组和字符串
java.io.ObjectInputStream实现类,扩展java.io.InputStream抽象类

  • java.io.ObjectOutput接口,继承java.io.DataOutput接口
写入Java基本类型数据、对象、数组和字符串
java.io.ObjectOutputStream实现类,扩展java.io.OutputStream抽象类

你可能感兴趣的:(Java IO概述)