-
java.io
鎖定
Java的核心庫java.io提供了全面的IO接口。包括:文件讀寫、標準設備輸出等。Java中IO是以流為基礎進行輸入輸出的,所有數據被串行化寫入輸出流,或者從輸入流讀入。
- 外文名
- java.io
- 通 過
- 數據流、序列化
- 目 的
- 提供系統輸入和輸出。
java.io描述
java.io流
流是一個很形象的概念,當程序需要讀取數據的時候,就會開啓一個通向數據源的流,這個數據源可以是文件,內存,或是網絡連接。類似的,當程序需要寫入數據的時候,就會開啓一個通向目的地的流。這時候你就可以想象數據好像在這其中“流”動一樣。
java.io原理
Java把這些不同來源和目標的數據都統一抽象為數據流。Java語言的輸入輸出功能是十分強大而靈活的,美中不足的是看上去輸入輸出的代碼並不是很簡潔,因為你往往需要包裝許多不同的對象。
在Java類庫中,IO部分的內容是很龐大的,因為它涉及的領域很廣泛:標準輸入輸出,文件的操作,網絡上的數據流,字符串流,對象流,zip文件流。
java.io分類
按流向分
輸入流: 程序可以從中讀取數據的流。
輸出流: 程序能向其中寫入數據的流。
按數據傳輸單位分
字節流: 以字節為單位傳輸數據的流
字符流: 以字符為單位傳輸數據的流
按功能分
節點流: 用於直接操作目標設備的流
過濾流: 是對一個已存在的流的鏈接和封裝,通過對數據進行處理為程序提供功能強大、靈活的讀寫功能。
java.io常用類
JDK所提供的所有流類位於java.io包中,都分別繼承自以下四種抽象流類。
InputStream:繼承自InputStream的流都是用於向程序中輸入數據的,且數據單位都是字節(8位)。
OutputStream:繼承自OutputStream的流都是程序用於向外輸出數據的,且數據單位都是字節(8位)。
Reader:繼承自Reader的流都是用於向程序中輸入數據的,且數據單位都是字符(16位)。
Writer:繼承自Writer的流都是程序用於向外輸出數據的,且數據單位都是字符(16位)。
java.io接口摘要
Closeable | Closeable 是可以關閉的數據源或目標。 |
DataInput | DataInput 接口用於從二進制流中讀取字節,並根據所有 Java 基本類型數據進行重構。 |
DataOutput | DataOutput 接口用於將數據從任意 Java 基本類型轉換為一系列字節,並將這些字節寫入二進制流。 |
Externalizable | Externalizable 實例類的唯一特性是可以被寫入序列化流中,該類負責保存和恢復實例內容。 |
FileFilter | 用於抽象路徑名的過濾器。 |
FilenameFilter | 實現此接口的類實例可用於過濾器文件名。 |
Flushable | Flushable 是可刷新數據的目標地。 |
ObjectInput | ObjectInput 擴展 DataInput 接口以包含對象的讀操作。 |
ObjectInputValidation | 允許驗證圖形中對象的回調接口。 |
ObjectOutput | ObjectOutput 擴展 DataOutput 接口以包含對象的寫入操作。 |
ObjectStreamConstants | 寫入 Object Serialization Stream 的常量。 |
Serializable | 類通過實現 java.io.Serializable 接口以啓用其序列化功能。 |
java.io類摘要
BufferedInputStream | BufferedInputStream 為另一個輸入流添加一些功能,即緩衝輸入以及支持 mark 和 reset 方法的能力。 |
BufferedOutputStream | 該類實現緩衝的輸出流。 |
BufferedReader | 從字符輸入流中讀取文本,緩衝各個字符,從而實現字符、數組和行的高效讀取。 |
將文本寫入字符輸出流,緩衝各個字符,從而提供單個字符、數組和字符串的高效寫入。 | |
ByteArrayInputStream | ByteArrayInputStream 包含一個內部緩衝區,該緩衝區包含從流中讀取的字節。 |
ByteArrayOutputStream | 此類實現了一個輸出流,其中的數據被寫入一個 byte 數組。 |
CharArrayReader | 此類實現一個可用作字符輸入流的字符緩衝區。 |
CharArrayWriter | 此類實現一個可用作 Writer 的字符緩衝區。 |
此類包含多個方法,可訪問與當前 Java 虛擬機關聯的基於字符的控制枱設備(如果有)。 | |
數據輸入流允許應用程序以與機器無關方式從底層輸入流中讀取基本 Java 數據類型。 | |
DataOutputStream | 數據輸出流允許應用程序以適當方式將基本 Java 數據類型寫入輸出流中。 |
File | 文件和目錄路徑名的抽象表示形式。 |
FileDescriptor | |
FileInputStream | FileInputStream 從文件系統中的某個文件中獲得輸入字節。 |
文件輸出流是用於將數據寫入 File 或 FileDescriptor 的輸出流。 | |
FilePermission | 此類表示對文件和目錄的訪問。 |
FileReader | 用來讀取字符文件的便捷類。 |
用來寫入字符文件的便捷類。 | |
FilterInputStream | FilterInputStream 包含其他一些輸入流,它將這些流用作其基本數據源,它可以直接傳輸數據或提供一些額外的功能。 |
此類是過濾輸出流的所有類的超類。 | |
FilterReader | 用於讀取已過濾的字符流的抽象類。 |
FilterWriter | 用於寫入已過濾的字符流的抽象類。 |
此抽象類是表示字節輸入流的所有類的超類。 | |
InputStreamReader | InputStreamReader 是字節流通向字符流的橋樑:它使用指定的 charset 讀取字節並將其解碼為字符。 |
LineNumberInputStream | 已過時。此類錯誤假定字節能充分表示字符。 |
- 參考資料
-
- 1. java.io .電腦醫生[引用日期2012-05-29]