Java IO 3-位元組流與字元流的區別
阿新 • • 發佈:2019-02-14
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();
}
}
執行程式前,測試資料夾:
沒有關閉字元輸出流:
使用強制清空緩衝區之後:
以上就是字元位元組流之間最大的區別,由於學識所限,以後還會繼續更新。