java.io

Java的核心庫java.io提供了全面的IO接口。包括:檔案讀寫、標準設備輸出等。Java中IO是以流為基礎進行輸入輸出的,所有數據被串列化寫入輸出流,或者從輸入流讀入。

java.io 的描述

通過數據流、序列化和檔案系統提供系統輸入和輸出。

流是一個很形象的概念,當程式需要讀取數據的時候,就會開啟一個通向數據源的流,這個數據源可以是檔案,記憶體,或是網路連線。類似的,當程式需要寫入數據的時候,就會開啟一個通向目的地的流。這時候你就可以想像數據好像在這其中“流”動一樣。

Java流輸入輸出原理

Java把這些不同來源和目標的數據都統一抽象為數據流。Java語言的輸入輸出功能是十分強大而靈活的,美中不足的是看上去輸入輸出的代碼並不是很簡潔,因為你往往需要包裝許多不同的對象。

在Java類庫中,IO部分的內容是很龐大的,因為它涉及的領域很廣泛:標準輸入輸出,檔案的操作,網路上的數據流,字元串流,對象流,zip檔案流。

Java流的分類

按流向分:

輸入流: 程式可以從中讀取數據的流。

輸出流: 程式能向其中寫入數據的流。

按數據傳輸單位分:

位元組流: 以位元組為單位傳輸數據的流

字元流: 以字元為單位傳輸數據的流

按功能分:

節點流: 用於直接操作目標設備的流

過濾流: 是對一個已存在的流的連結和封裝,通過對數據進行處理為程式提供功能強大、靈活的讀寫功能。

java.io常用類

JDK所提供的所有流類位於java.io包中,都分別繼承自以下四種抽象流類。

InputStream:繼承自InputStream的流都是用於向程式中輸入數據的,且數據單位都是位元組(8位)。

OutputStream:繼承自OutputStream的流都是程式用於向外輸出數據的,且數據單位都是位元組(8位)。

Reader:繼承自Reader的流都是用於向程式中輸入數據的,且數據單位都是字元(16位)。

Writer:繼承自Writer的流都是程式用於向外輸出數據的,且數據單位都是字元(16位)。

接口摘要

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 接口以啟用其序列化功能。

類摘要

BufferedInputStream BufferedInputStream 為另一個輸入流添加一些功能,即緩衝輸入以及支持 mark 和 reset 方法的能力。
BufferedOutputStream 該類實現緩衝的輸出流。
BufferedReader 從字元輸入流中讀取文本,緩衝各個字元,從而實現字元、數組和行的高效讀取。
BufferedWriter 將文本寫入字元輸出流,緩衝各個字元,從而提供單個字元、數組和字元串的高效寫入。
ByteArrayInputStream ByteArrayInputStream 包含一個內部緩衝區,該緩衝區包含從流中讀取的位元組。
ByteArrayOutputStream 此類實現了一個輸出流,其中的數據被寫入一個 byte 數組。
CharArrayReader 此類實現一個可用作字元輸入流的字元緩衝區。
CharArrayWriter 此類實現一個可用作 Writer 的字元緩衝區。
Console 此類包含多個方法,可訪問與當前 Java 虛擬機關聯的基於字元的控制台設備(如果有)。
DataInputStream 數據輸入流允許應用程式以與機器無關方式從底層輸入流中讀取基本 Java 數據類型。
DataOutputStream 數據輸出流允許應用程式以適當方式將基本 Java 數據類型寫入輸出流中。
File 檔案和目錄路徑名的抽象表示形式。
FileDescriptor 檔案描述符類的實例用作與基礎機器有關的某種結構的不透明句柄,該結構表示開放檔案、開放套接字或者位元組的另一個源或接收者。
FileInputStream FileInputStream 從檔案系統中的某個檔案中獲得輸入位元組。
FileOutputStream 檔案輸出流是用於將數據寫入 File 或 FileDescriptor 的輸出流。
FilePermission 此類表示對檔案和目錄的訪問。
FileReader 用來讀取字元檔案的便捷類。
FileWriter 用來寫入字元檔案的便捷類。
FilterInputStream FilterInputStream 包含其他一些輸入流,它將這些流用作其基本數據源,它可以直接傳輸數據或提供一些額外的功能。
FilterOutputStream 此類是過濾輸出流的所有類的超類。
FilterReader 用於讀取已過濾的字元流的抽象類。
FilterWriter 用於寫入已過濾的字元流的抽象類。
InputStream 此抽象類是表示位元組輸入流的所有類的超類。
InputStreamReader InputStreamReader 是位元組流通向字元流的橋樑:它使用指定的 charset 讀取位元組並將其解碼為字元。
LineNumberInputStream 已過時。 此類錯誤假定位元組能充分表示字元。

相關詞條

相關搜尋

熱門詞條

聯絡我們