通常在使用java中的io的時候,知道分為位元組流和字元流。為了了解io,我們先要知道什麼是文本檔案和二進制檔案。
一 簡單了解
計算機的檔案分為文本檔案和二進制檔案。
①文本檔案
所有能用記事本打開的檔案,打開之後,我們可以看到其中的字元内容而不是亂碼的檔案。
②二進制檔案
不屬于上述情況的檔案都是二進制檔案。
二 深入了解
計算機中的檔案都是二進制檔案,文本檔案是二進制檔案的一個特例。
當檔案中的内容恰好能被正常解析成字元串時,則二進制檔案就程式設計了文本檔案。
更有甚者,即使是正常的文本檔案,如果我們打開該檔案時強制使用了“錯誤”的編碼集,例如我們用文本編輯器用utf-8打開一個
中文内容的文本檔案txt檔案,會發現該文本檔案的内容程式設計了亂碼。
原因是打開檔案時沒有用和儲存檔案時使用相同的編碼集。windows下簡體中文預設使用gbk編碼集,而linux下簡體中文預設使用
utf-8編碼集。
摘自《瘋狂java講義》