日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java IO: 字符流的Buffered和Filter

發(fā)布時間:2025/3/19 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java IO: 字符流的Buffered和Filter 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:?Jakob?Jenkov ?譯者:?李璟(jlee381344197@gmail.com)

本章節(jié)將簡要介紹緩沖與過濾相關(guān)的reader和writer,主要涉及BufferedReader、BufferedWriter、FilterReader、FilterWriter。

?

BufferedReader

原文鏈接

BufferedReader能為字符輸入流提供緩沖區(qū),可以提高許多IO處理的速度。你可以一次讀取一大塊的數(shù)據(jù),而不需要每次從網(wǎng)絡(luò)或者磁盤中一次讀取一個字節(jié)。特別是在訪問大量磁盤數(shù)據(jù)時,緩沖通常會讓IO快上許多。

BufferedReader和BufferedInputStream的主要區(qū)別在于,BufferedReader操作字符,而BufferedInputStream操作原始字節(jié)。只需要把Reader包裝到BufferedReader中,就可以為Reader添加緩沖區(qū)(譯者注:默認緩沖區(qū)大小為8192字節(jié),即8KB)。代碼如下:

1Reader?input?=?new?BufferedReader(new?FileReader("c:\\data\\input-file.txt"));

你也可以通過傳遞構(gòu)造函數(shù)的第二個參數(shù),指定緩沖區(qū)大小,代碼如下:

1Reader?input?=?new?BufferedReader(new?FileReader("c:\\data\\input-file.txt"),?8?*?1024);

這個例子設(shè)置了8KB的緩沖區(qū)。最好把緩沖區(qū)大小設(shè)置成1024字節(jié)的整數(shù)倍,這樣能更高效地利用內(nèi)置緩沖區(qū)的磁盤。

除了能夠為輸入流提供緩沖區(qū)以外,其余方面BufferedReader基本與Reader類似。BufferedReader還有一個額外readLine()方法,可以方便地一次性讀取一整行字符。

BufferedWriter

原文鏈接

與BufferedReader類似,BufferedWriter可以為輸出流提供緩沖區(qū)。可以構(gòu)造一個使用默認大小緩沖區(qū)的BufferedWriter(譯者注:默認緩沖區(qū)大小8?*?1024B),代碼如下:

1Writer?writer?=?new?BufferedWriter(new?FileWriter("c:\\data\\output-file.txt"));

也可以手動設(shè)置緩沖區(qū)大小,代碼如下:

1Writer?writer?=?new?BufferedWriter(new?FileWriter("c:\\data\\output-file.txt"),?8?*?1024);

為了更好地使用內(nèi)置緩沖區(qū)的磁盤,同樣建議把緩沖區(qū)大小設(shè)置成1024的整數(shù)倍。除了能夠為輸出流提供緩沖區(qū)以外,其余方面BufferedWriter基本與Writer類似。類似地,BufferedWriter也提供了writeLine()方法,能夠把一行字符寫入到底層的字符輸出流中。值得注意是,你需要手動flush()方法確保寫入到此輸出流的數(shù)據(jù)真正寫入到磁盤或者網(wǎng)絡(luò)中。

FilterReader

原文鏈接

與FilterInputStream類似,FilterReader是實現(xiàn)自定義過濾輸入字符流的基類,基本上它僅僅只是簡單覆蓋了Reader中的所有方法。

就我自己而言,我沒發(fā)現(xiàn)這個類明顯的用途。除了構(gòu)造函數(shù)取一個Reader變量作為參數(shù)之外,我沒看到FilterReader任何對Reader新增或者修改的地方。如果你選擇繼承FilterReader實現(xiàn)自定義的類,同樣也可以直接繼承自Reader從而避免額外的類層級結(jié)構(gòu)。

FilterWriter

原文鏈接

內(nèi)容同F(xiàn)ilterReader,不再贅述。

原創(chuàng)文章,轉(zhuǎn)載請注明:?轉(zhuǎn)載自并發(fā)編程網(wǎng) – ifeve.com本文鏈接地址:?Java IO: 字符流的Buffered和Filter

轉(zhuǎn)載于:https://www.cnblogs.com/dassmeta/p/5323946.html

總結(jié)

以上是生活随笔為你收集整理的Java IO: 字符流的Buffered和Filter的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。