概述
IO流用来处理设备之间的数据传输。Java程序中,对于数据的输入/输出操作以“流(stream)”的方式进行,其提供的各种类和接口存在java.io包中。其中,最重要的是5个类和一个接口:
5个类:File、InputStream、OutputStream、Reader、Writer
1个接口:Serializable
流的分类
按操作数据单位:字节流(8bit),字符流(16bit)
按数据流的流向:输入流、输出流
按流的角色:节点流、处理流
(抽象基类) | 字节流 | 字符流 |
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
Java的IO流共涉及40多个类,从下面四个抽象基类中派生:
分类 | 字节输入流 | 字节输出流 | 字符输入流 | 字符输出流 |
抽象基类 | InputStream | OutputStream | Reader | Writer |
访问文件 | FileInputStream | FileOutputStream | FileReader | FileWriter |
访问数组 | ByteArrayInputStream | ByteArrayOutputStream | CharArrayReader | CharArrayWriter |
访问管道 | PipedInputStream | PipedOutputStream | PipedReader | PipedWriter |
访问字符串 | StringReader | StringWriter | ||
缓冲流 | BufferedInputStream | BufferedOutputStream | BufferedReader | BufferedWriter |
转换流 | InputStreamReader | OutputStreamWriter | ||
对象流 | ObjectInputStream | ObjectOutputStream | ||
FilterInputStream | FilterOutputStream | FilterReader | FilterWriter | |
打印流 | PrintStream | PrintWriter | ||
推回输入流 | PushbackInputStream | PushbackReader | ||
特殊流 | DataInputStream | DataOutputStream |
1.InputStream
2.OutputStream
3.Reader
4.Writer