概述
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