1. 程式人生 > >Java IO 3-位元組流與字元流的區別

Java IO 3-位元組流與字元流的區別

java以流的形式操縱IO,又將流分為兩種:位元組流與字元流,對JavaIO流操作不清楚的可以參考

那位元組流與字元流之間又有什麼區別呢

區別

位元組流用於操作檔案資料,網路傳輸等場景,而字元流適用於與字串,中文有關的內容處理,因為Writer/Reader兩個抽象類對字元的支援比較好。

除了這些,字元輸出流寫資料時是先將資料寫入緩衝區,待字元輸出流關閉後再寫入到檔案中,而位元組輸出流是直接寫入到檔案中,通過下面的例子,我們可以清楚的看到這一點。

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import
java.io.Reader; import java.io.Writer; /** * 測試路徑:E:\IO\demo.txt */ public class Test { public static void main(String[] args) throws Exception { // 測試:字元輸出與位元組輸出區別 File file = new File("E:\\IO\\demo.txt"); // 父目錄不存在,建立 if(!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } String msg = "愛生活愛Java"
; Writer out = new FileWriter(file); out.write(msg); // 不關閉字元輸出流 // out.close() // 強制清空緩衝區 // out.flush(); } }

執行程式前,測試資料夾:

執行前

沒有關閉字元輸出流:

不關閉流

使用強制清空緩衝區之後:

flush()

以上就是字元位元組流之間最大的區別,由於學識所限,以後還會繼續更新。