回覆列表
-
1 # 手機使用者86163046596
-
2 # 使用者1300891189642
InputStream/OubputSteam是以位元組為基本單位訪問檔案的可以認為它們所處理的是位元組流。而Reader/Writer是以字元為基本單位訪問檔案的,從而可以認為讀寫器處理的是字元流。InputStream/OubputSteam可以很好的處理影片,聲音等等素材,但是Reader/Writer在字元的處理上面有更大的優勢,對於中文的支援比前者更好。
一個是字元流輸出,一個是位元組流輸出從本質上講,wirter/reader和inputstream/outputstream的最大區別在於encode和decode. inputstream/outputstream 直接對byte[]進行操作,不會更改任何資訊,原原本本的反應資料內容。 writer/reader在操作時會進行decode/encode. 它會根據你的系統屬性file.encoding來decode資料。比如你從檔案中讀取一行,用reader.readLine()返回的string是經過decode的資料。如果你的檔案的encoding不等於你的file.encoding的值,就會產生編碼錯誤。