轉載請註明出處:http://blog.csdn.net/github_39430101/article/details/77075109
簡介
流分爲輸入流和輸出流,是用來處理設備上的數據。這裏的設備指硬盤,內存,網絡傳輸,緩衝等。Java IO中包含了許多InputStream、OutputStream、Reader、Writer的子類。這樣設計的原因是讓每一個類都負責不同的功能。各類用途如下:
- 文件訪問
- 網絡訪問
- 內存緩存訪問
- 線程內部通信(管道)
- 緩衝
- 過濾
- 讀寫基本類型
- 讀寫對象
IO流類
IO流分類
按方向分類
輸入流 | |
---|---|
InputStream | 所有字節輸入流的父類 |
FileInputStream | 文件字節輸入流 |
ByteArrayInputStream | 字節數組輸入流 |
Reader | 讀取字符流的抽象類 |
FileReader | 文件字符輸入流 |
輸出流 | |
---|---|
OutputStream | 所有字節輸出流的父類 |
FileOutputStream | 文件字節輸出流 |
ByteArrayOutputStream | 字節數組輸出流 |
Writer | 寫入字符流的抽象類 |
FileWriter | 文件字符輸出流 |
按功能分類
按照流是否直接與特定的地方(如磁盤、內存、設備等)相連,分爲節點流和處理流兩類
節點流 | |
---|---|
父類 | InputStream OutputStream Reader Writer |
文件 | FileInputStream FileOutputStream FileReader FileWriter |
數組 | ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter |
字符串 | StringReader StringWriter |
管道 | PipedInputStream PipedOutputStream PipedReader PipedWriter |
處理流 | |
---|---|
緩衝流 | BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter |
轉換流 | InputStreamReader OutputStreamWriter |
數據流 | DataInputStream DateOutputStream |
對象流 | ObjectInputStream ObjectOutputStream |
管道 | PipedInputStream PipedOutputStream PipedReader PipedWriter |