IO流 4 字元流 緩衝區

2021-10-01 20:43:03 字數 1847 閱讀 4923

緩衝區可以簡單地理解為一段記憶體區域。可以簡單地把緩衝區理解為一段特殊的記憶體。某些情況下,如果乙個程式頻繁地操作乙個資源(如檔案或資料庫),則效能會很低,此時為了提公升效能,就可以將一部分資料暫時讀入到記憶體的一塊區域之中,以後直接從此區域中讀取資料即可,因為讀取記憶體速度會比較快,這樣可以提公升程式的效能。

舉個栗子:去超時購物時,會看到有人提著籃子,和推著購物車,手提籃子很累,推著購物車,取出商品給收銀員時又出現重複的工作。一件件的將商品從容器中拿出來,給收銀員。這樣就很費時間與效率。那麼有沒有既省力,又效率快的方式呢?其實我們可以將籃子放在購車中,結賬時直接將籃子提出來給收銀員掃碼即可。上述案例中,籃子就充當了緩衝區作用。

作用:緩衝區封裝了存放字元的陣列,提高了資料在流中的操作效率。

以功能名稱為開頭,結尾為所屬體系名稱。 

例如:1、寫緩衝區:bufferedwriter:

2、讀快取區:bufferedreader:

三、演示**:

1、bufferedwriter

使用filewriter寫法:

public static void main(string args) throws ioexception
引入緩衝區:

private static  final string line_separator = system.getproperty("line.separator");

public static void main(string args) throws ioexception

//使用緩衝區的重新整理方法將資料刷入目的地

//關閉緩衝區 其實關閉的是底層被緩衝的流物件

bufw.close();

//無需再關閉

// fw.close();

}

2、bufferedreader:

使用filereader寫法**:

public static void main(string args) throws ioexception 

fr.close();

}

引入bufferedreader 讀緩衝區:

public static void main(string args) throws ioexception 

//關閉緩衝區(同時關閉了io流)

bufr.close();

}

3、控制台結果:和原始檔中buf.txt格式一模一樣。

四、readline:讀取一行的原理**:

先讀後寫,使用快取區作為中轉站。

public static void main(string args) throws ioexception 

bufw.close();

bufr.close();

*//**

* 讀取一行方式 readline()

*/string readlin = null;

while ((readlin=bufr.readline())!=null)

}

結果:

字元流緩衝區

字元流緩衝區 緩衝區的出現提高了對資料的讀寫效率 對應類 bufferedwriter bufferedreader 緩衝區要結合流才可以使用 在流的基礎上對流的功能進行了增強 緩衝區就是為減少頻繁的到硬碟讀取資料的次數,以消耗記憶體提高流的讀寫效率。就是在記憶體建立乙個容器,儲存資料 注意建立緩衝...

字元流的緩衝區

緩衝區提高了對資料的讀寫效率,緩衝區要結合流才可以使用,其實就是在流的基礎上對流進行更有效率的操作。他的意思是說,你讀寫的時候,不是讀乙個然後就往檔案寫入,而是讀取一定的字元後,在寫入檔案,這個就提高了 效率。在建立緩衝區錢,必須建立流物件,例子 class buffredwriter1 publi...

IO流 三 字元流和字元緩衝流

io流 一 基本概念和file類 io流 二 檔案流 io流 三 字元流和字元緩衝流 io流 四 轉換流和標準位元組輸出流 io流 五 物件資料的序列化和反序列化 一 優點與缺點 優點 讀取 寫入文字內容時更加方便快捷。二 常用方法 filereader 返回值函式名與形參 功能int read c...