使用File I/O類實現文件的讀寫操作

流區分:

未經加工的原始二進制數據叫字節流,經一定編碼處理後符合某種格式規定的特定數據是字符流,Java中的字符是Unicode編碼,一個字符佔用兩個字節。什麼Input,Output就是字節流,什麼Reader,Writer當然就是字符流啦。

什麼時候用字節流?什麼時候用字符流?

如果是音頻文件、圖片、歌曲,就用字節流好點,
如果是關係到中文(文本)的,用字符流好點。

什麼時候用字節流,什麼時候用字符流,以及它們的區別

如果已到達流的末尾,則返回 -1。

File類:查取文件或其目錄的信息,增刪文件。

字節流:

  • 讀:InputStream   抽象類 )  文件輸入流: FileInputStream類    緩衝輸入流 :BufferedInputStream
  •  寫:OutputStream(抽象類)  文件輸出流: FileOutputStream類    緩衝輸出流:BufferedOutputStream
  • 二進制文件:讀 DataInputStream    寫  DataOutputStream
  • 對象文件互換:讀  ObjectDataInputStream(反序列化)   寫  ObjectOutputStream(序列化)

 

字符流:

  • 讀:Reader抽象類   文件輸入流: FileReader   緩衝輸入流 :BufferedReader
  • 寫:Writer抽象類    文件輸出流 :FileWriter     緩衝輸出流:BufferedWriter

 

字節流、字符流區別:

 

  • 字節流中的最小單位是8個bit字節,適用二進制文件。
  • 字符流中的最小單位是16個bit字節,適用文本文件。Reader類能夠將輸入流中採用其他編碼類型的字符轉換爲Unicode字符,然後在內存中爲其分配內存Writer類能夠將內存中的Unicode字符轉換爲其他編碼類型的字符,再寫到輸出流中。

PS:重點是搞懂每個類的位置及其作用,參考:https://blog.csdn.net/weixin_41064826

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章