流式I/O和檔案,出現檔案io錯誤
1、普通輸入輸出類
1.1 InputStream類型:用來表示從不同資料來源產生輸入的類,資料來源包括 位元組數組 String對象 檔案 管道:工作方式與實際管道相似,從一端輸入,從另一端輸出; 一個由其他種類的流組成的序列,以便可以將它們收集合并到一個單一的流內; 1.1.1 每一種資料來源都有相應的InputStream子類。 1.1.2 FilterInputStream也屬於一種InputStream,為“decorator”類提供基類,而“decorator”類可以把屬性或有用的介面與輸入資料流串連在一起 1.1.3 InputStream的子類
| 子類 |
功能 |
構造器參數 |
| ByteArrayInputStream |
允許將記憶體的緩衝區當作InputStream使用 |
|
| StringBufferInputStream |
將String轉換為InputStream |
|
| FileInputStream |
用於從檔案中讀取資訊 |
|
| PipedInputStream |
產生用於寫入相關PipedOutputStream |
|
| SequenceInputStream |
將兩個或多個InputStream對象轉換成單一InputStream |
|
| FilterInputStream |
作為修飾器的介面,其中,修飾器為其他的InputStream類提供有用功能 |
|
1.2 OutputStream類型:用來把產生的資料來源輸出到不同的資料來源中,這些資料來源包括 位元組數組(非字串) 檔案或管道 1.2.1 OutputStream的子類
| 子類 |
功能 |
構造器參數 |
| ByteArrayOutputStream |
在記憶體中建立緩衝區,所有送往stream的資料都要放置在此緩衝區 |
|
| FileOutputStream |
用於將資訊寫至檔案 |
|
| PipedOutputStream |
傳送輸出資料流可以串連到傳送輸入資料流,以建立通訊管道。傳送輸出資料流失管道的發送端 |
|
1.3 FilterInputStream類:能夠完成兩件完全不同的事情
| 類 |
功能 |
構造器參數 |
| DataInputStream |
與DataOutputStream搭配使用,故可安裝可移植方式從流讀取基礎資料型別 (Elementary Data Type)(int,char,long) |
|
| BufferedInputStream |
使用它可以防止每次讀取是都得進行實際寫操作 |
|
| LineNumberInputStream |
跟蹤輸入資料流中的行數,可調用getLineNumber()和setLineNumber(int)讀取和設定行號 |
|
| PushbackInputStream |
具有“one byte push-back buffer”,因此可以將讀到的最後一個字元回退 |
|
1.4 FilterOutputStream類
| 類 |
功能 |
構造器參數 |
| DataOutputStream |
與DateInputStream搭配使用,可以按照可移植方式向流中寫入基本類型資料(int,char,long) |
|
| PrintStream |
用於產生格式化輸出,其中DataOutputStream處理資料的儲存,PrintStream處理顯示 |
|
| BufferedOutputStream |
使用它可以避免每次發送資料時都要進行實際的寫操作,代表“使用緩衝區”,可以調用flush()清空緩衝區 |
|