輸入流類型?
I/O-1
類 | 功能 | 構造器參數 | 如何使用 |
---|---|---|---|
ByteArrayInputStream | 允許將內存的緩沖區當做?InputStream ?使用 | 緩沖區,字節將從中取出 | 作為一種數據源:將其與?FilterInputStream ?對象相連以提供有用接口 |
StringBufferInputStream | 將?String ?轉換成?InputStream | 字符串。底層實現實際使用?StringBuffer | 作為一種數據源:將其與?FilterInputStream ?對象相連以提供有用接口 |
FileInputStream | 用于從文件中讀取信息 | 字符串,表示文件名、文件或?FileDescriptor ?對象 | 作為一種數據源:將其與?FilterInputStream ?對象相連以提供有用接口 |
PipedInputStream | 產生用于寫入相關?PipedOutputStream ?的數據。實現“管道化”概念 | PipedOutputSteam | 作為多線程中的數據源:將其與?FilterInputStream ?對象相連以提供有用接口 |
SequenceInputStream | 將兩個或多個?InputStream ?對象轉換成一個?InputStream | 兩個?InputStream ?對象或一個容納?InputStream ?對象的容器?Enumeration | 作為一種數據源:將其與?FilterInputStream ?對象相連以提供有用接口 |
FilterInputStream | 抽象類,作為“裝飾器”的接口。其中,“裝飾器”為其它的?InputStream ?類提供有用的功能。見表 I/O-3 | 見表 I/O-3 | 見表 I/O-3 |
輸出流類型
I/O-2
類 | 功能 | 構造器參數 | 如何使用 |
---|---|---|---|
ByteArrayOutputStream | 在內存中創建緩沖區。所有送往“流”的數據都要放置在此緩沖區 | 緩沖區初始大小(可選) | 用于指定數據的目的地:將其與?FilterOutputStream ?對象相連以提供有用接口 |
FileOutputStream | 用于將信息寫入文件 | 字符串,表示文件名、文件或?FileDescriptor ?對象 | 用于指定數據的目的地:將其與?FilterOutputStream ?對象相連以提供有用接口 |
PipedOutputStream | 任何寫入其中的信息都會自動作為相關?PipedInputStream ?的輸出。實現“管道化”概念 | PipedInputStream | 指定用于多線程的數據的目的地:將其與?FilterOutputStream ?對象相連以提供有用接口 |
FilterOutputStream | 抽象類,作為“裝飾器”的接口。其中,“裝飾器”為其它?OutputStream ?提供有用功能。見表 I/O-4 | 見表 I/O-4 | 見表 I/O-4 |
?
FilterInputStream
?類型
I/O-3
類 | 功能 | 構造器參數 | 如何使用 |
---|---|---|---|
DataInputStream | 與?DataOutputStream ?搭配使用,按照移植方式從流讀取基本數據類型(int 、char 、long ?等) | InputStream | 包含用于讀取基本數據類型的全部接口 |
BufferedInputStream | 使用它可以防止每次讀取時都得進行實際寫操作。代表“使用緩沖區” | InputStream ,可以指定緩沖區大小(可選) | 本質上不提供接口,只是向進程添加緩沖功能。與接口對象搭配 |
LineNumberInputStream | 跟蹤輸入流中的行號,可調用?getLineNumber() ?和?setLineNumber(int) | InputStream | 僅增加了行號,因此可能要與接口對象搭配使用 |
PushbackInputStream | 具有能彈出一個字節的緩沖區,因此可以將讀到的最后一個字符回退 | InputStream | 通常作為編譯器的掃描器,我們可能永遠也不會用到 |
FilterOutputStream
?類型
I/O-4
類 | 功能 | 構造器參數 | 如何使用 |
---|---|---|---|
DataOutputStream | 與?DataInputStream ?搭配使用,因此可以按照移植方式向流中寫入基本數據類型(int 、char 、long ?等) | OutputStream | 包含用于寫入基本數據類型的全部接口 |
PrintStream | 用于產生格式化輸出。其中?DataOutputStream ?處理數據的存儲,PrintStream ?處理顯示 | OutputStream ,可以用?boolean ?值指示是否每次換行時清空緩沖區(可選) | 應該是對?OutputStream ?對象的?final ?封裝。可能會經常用到它 |
BufferedOutputStream | 使用它以避免每次發送數據時都進行實際的寫操作。代表“使用緩沖區”。可以調用?flush() ?清空緩沖區 | OutputStream ,可以指定緩沖區大小(可選) | 本質上并不提供接口,只是向進程添加緩沖功能。與接口對象搭配 |
來源與去處
來源與去處:Java 1.0 類 | 相應的 Java 1.1 類 |
---|---|
InputStream | Reader 適配器: InputStreamReader |
OutputStream | Writer 適配器: OutputStreamWriter |
FileInputStream | FileReader |
FileOutputStream | FileWriter |
StringBufferInputStream (已棄用) | StringReader |
(無相應的類) | StringWriter |
ByteArrayInputStream | CharArrayReader |
ByteArrayOutputStream | CharArrayWriter |
PipedInputStream | PipedReader |
PipedOutputStream | PipedWriter |
?
?