IO流中關閉和刷新的區別
因爲內置緩衝區的原因,如果不關閉輸出流,無法寫出字符到文件中,但是關閉的流對象,是無法繼續寫出數據的,如果我們既想寫出數據,又想繼續使用流,就需要使用flush
方法了
-
flush : 刷新緩衝區,流對象可以繼續使用
-
close : 先刷新緩衝區,然後通知系統釋放資源,流對象不可以再被使用了
示例
package com.test0229;
import java.io.FileWriter;
import java.io.IOException;
public class Test001 {
public static void main(String[] args) throws IOException {
//創建FileWriter對象,構造方法中綁定要寫入數據的目的地
FileWriter fileWriter = new FileWriter("D:\\IDEAPROJ\\test0229\\1.txt");
//使用FileWriter中的方法write,把數據寫入到內存緩衝區中(字符轉換爲字節的過程)
//void write(int c)寫入單個字符
fileWriter.write(97);
//使用FileWriter中的方法flush,把內存緩衝區中的數據,刷新到文件中
fileWriter.flush();
//刷新之後劉可以繼續使用
fileWriter.write(98);
//釋放資源(會先把內存緩衝區中的數據刷新到文件中)
fileWriter.close();
}
}