io原理、概要
應用
字節流(以字節爲操作單位)
InputStream
FileInputStream
BufferInputStream
ObjectInputStream
OutputStream
FileOutputStream
BufferOutputStream
ObjectOutputStream
字符流(以字符(即兩個字節)爲操作單位)
Reader
BufferReader
InputStreamReader
Writer
BufferWriter
OutputStreamWriter
2.字符流處理的單元爲2個字節的Unicode字符,分別操作字符、字符數組或字符串,而字節流處理單元爲1個字節,操作字節和字節數組。所以字符流是由Java虛擬機將字節轉化爲2個字節的Unicode字符爲單位的字符而成的,所以它對多國語言支持性比較好!如果是音頻文件、圖片、歌曲,就用字節流好點,如果是關係到中文(文本)的,用字符流好點
注意:
一個英文字符是用一個字節編碼的,而一箇中文字符則是用兩個字節編碼的,所以用字節流讀取中文時,會出現亂碼問題;UTF-8用三個字節表示中文,gb2312、gbk用兩個字節來表示中文
Java i/o的相關操作類似文件的操作,寫入文件的時候,切莫忘了flush