Java —— 流的基本概念
【概述】
流(stream)是一組有序的資料序列,IO 流用於處理裝置之間的資料傳輸,Java 中對於資料的輸入輸出均是以流的方式進行,在 java.io 包下提供了各種流類與介面,用於獲取不同種類的資料,並通過標準的方法輸入輸出資料 。
【輸入與輸出】
輸入(input):讀取磁碟、光碟等外部儲存裝置的資料到程式(記憶體)中
輸出(output):將程式資料輸出到磁碟、光碟等外部儲存裝置中
【流的分類】
根據運算元據單位的不同,分為:位元組流(8 bits)、字元流(16 bits)
根據資料流的流向,分為:輸入流、輸出流
根據流的角色的不同,分為:節點流(直接作用於檔案上)、處理流(作用在已有的節點流之上)
Java 的流類共涉及 40 多個類,實際都是通過以下 4 個抽象基類派生的,由以下 4 個抽象基類派生出的子類名稱都是以其父類名作為子類名字尾。
抽象基類 | 位元組流 | 字元流 |
輸入流 | InputStream | Reader |
輸出流 | OutputStream | Writer |
1.位元組流
位元組流分為輸入位元組流、輸出位元組流。
InputStream 類是位元組輸入流的抽象類,它是所有位元組輸入流的父類,InputStream 中存在多個子類,它們實現了不同的資料輸入流。
OutputStream 類是位元組輸出流的抽象類,它是所有位元組輸出流的父類,OutputStream 中存在多個子類,它們實現了不同的資料輸出流。
2.字元流
字元流分為輸入字元流、輸出字元流。
Reader 類是字元輸入流的抽象類,所有字元輸入流的實現都是它的子類。
Writer 類是字元輸出流的抽象類,所有字元輸出流的實現都是它的子類。
3.劃分
抽象基類 | 節點流 | 緩衝流 | 轉換流 | 資料流 | 物件流 | 列印流 | |
位元組流 | InputStream | FileInputStream | BufferedInputStream | DataInputStream | ObjectInputStream | PrintStream | |
OutputStream | FileOutputStream | BufferedOutputStream | DataOutputStream | ObjectOutputStream | |||
字元流 | Reader | FileReader | BufferedReader | InputStreamReader | PrintWriter | ||
Writer | FileWriter | BufferedWr | OutputStreamWriter |
相關文章
- 【網路流】網路流基本概念
- 流的基本概念以及常見應用
- Java的30個基本概念Java
- Java的流Java
- 學習Java的30個基本概念Java
- Java的IO流Java
- Java 的 流操作Java
- Node.js 中的一股清流:理解 Stream(流)的基本概念Node.js
- 細水長flow之NICE:流模型的基本概念與實現模型
- Java流Java
- Java synchronized 可重入鎖 基本概念Javasynchronized
- Java —— 流的抽象基類Java抽象
- 淺析Java的流 (轉)Java
- java的Stream流學習Java
- Java的位元組流,字元流和緩衝流對比探究Java字元
- java -IO流Java
- Java IO流Java
- java - IO流Java
- Java IO流Java
- Java IO: 流Java
- Java——IO流Java
- 面試必問的 Java 位元組流與字元流面試Java字元
- java的IO操作:位元組流與字元流操作Java字元
- git分支管理和工作流規範:基本概念說明Git
- Java8的新特性--並行流與序列流Java並行
- java位元組流和字元流的比較哦啊Java字元
- 淺析java中的IO流Java
- java入門(字元流、位元組流)Java字元
- Java之IO流基礎流物件Java物件
- Java IO7:管道流、物件流Java物件
- Java新手入門必須知道的30個基本概念Java
- java檔案流Java
- Java —— 節點流Java
- Java —— 轉換流Java
- Java Stream流使用Java
- Java IO流操作Java
- 【java】I/O流Java
- Java I/O流Java