最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解java IO流之緩沖流的使用

 更新時(shí)間:2017年01月13日 10:04:42   作者:濫好人  
本文主要介紹了java的IO流中的緩沖流的使用,緩沖流分為字節(jié)和字符緩沖流。分享了有關(guān)它們的實(shí)例代碼,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧

java緩沖流本身不具IO功能,只是在別的流上加上緩沖提高效率,像是為別的流裝上一種包裝。當(dāng)對(duì)文件或其他目標(biāo)頻繁讀寫或操作效率低,效能差。這時(shí)使用緩沖流能夠更高效的讀寫信息。因?yàn)榫彌_流先將數(shù)據(jù)緩存起來(lái),然后一起寫入或讀取出來(lái)。所以說(shuō),緩沖流還是很重要的,在IO操作時(shí)記得加上緩沖流提升性能。

緩沖流分為字節(jié)和字符緩沖流

字節(jié)緩沖流為:

BufferedInputStream—字節(jié)輸入緩沖流

BufferedOutputStream—字節(jié)輸出緩沖流

字符緩沖流為:

BufferedReader—字符輸入緩沖流

BufferedWriter—字符輸出緩沖流

下面主要介紹這四種緩沖流的使用。

 一.  字節(jié)緩沖流

1.BufferedOutputStream—字節(jié)輸出緩沖流

BufferedOutputStream類實(shí)現(xiàn)緩沖的輸出了,通過(guò)設(shè)置這種輸出流,應(yīng)用程序就可以將各個(gè)字節(jié)寫入底層輸出流中,而不必每一個(gè)字節(jié)寫入都調(diào)用底層系統(tǒng)。

示例代碼:

public static void main(String[] args) { 
 try { 
 //創(chuàng)建字節(jié)輸出流實(shí)例 
 OutputStream out=new FileOutputStream("L:\\test.txt"); 
 //根據(jù)字節(jié)輸出流構(gòu)建字節(jié)緩沖流 
 BufferedOutputStream buf=new BufferedOutputStream(out); 
 String data="好好學(xué)習(xí),天天向上"; 
 buf.write(data.getBytes());//寫入緩沖區(qū) 
 buf.flush();//刷新緩沖區(qū),即把內(nèi)容寫入 
 //關(guān)閉流 
 buf.close();//關(guān)閉緩沖流時(shí),也會(huì)刷新一次緩沖區(qū) 
 out.close(); 
} catch (IOException e) { 
 e.printStackTrace(); 
} 
 }

2.BufferedInputStream—字節(jié)輸入緩沖流

BufferedInputStream為別的輸入流添加緩沖功能,在創(chuàng)建BufferedInputStream時(shí)會(huì)創(chuàng)建一個(gè)內(nèi)部緩沖數(shù)組,用于緩沖數(shù)據(jù),提高性能。

示例代碼:

public static void main(String[] args) { 
 try { 
 //創(chuàng)建字節(jié)輸入流實(shí)例 
 InputStream in=new FileInputStream("L:\\test.txt"); 
 //根據(jù)字節(jié)輸入流構(gòu)建字節(jié)緩沖流 
 BufferedInputStream buf=new BufferedInputStream(in); 
 byte[]bytes=new byte[1024]; 
 //數(shù)據(jù)讀取 
 int len=-1; 
 StringBuffer sb=new StringBuffer(); 
 while((len=buf.read(bytes))!=-1) 
 { 
 sb.append(new String(bytes,0,len)); 
 } 
 System.out.println("內(nèi)容為:"+sb); 
 //關(guān)閉流 
 buf.close(); 
 in.close(); 

 } catch (IOException e) { 
 e.printStackTrace(); 
 } 
 } 

二.  字符緩沖流

1.BufferedWriter—字符輸出緩沖流

將文本寫入字符輸出流,緩沖各個(gè)字符,從而提供高效的寫入??梢灾付ň彌_區(qū)的大小,一般情況下,默認(rèn)的緩沖區(qū)大小就足夠了。

示例代碼:

public static void main(String[] args) { 
 try { 
 Writer w=new FileWriter("L:\\test.txt"); 
 //根據(jù)字符輸出流創(chuàng)建字符緩沖流 
 BufferedWriter buf=new BufferedWriter(w); 
 //寫入數(shù)據(jù) 
 buf.write("只要功夫深鐵杵磨成針"); 
 //刷新流 
 buf.flush(); 
 //關(guān)閉流 
 buf.close(); 
 w.close(); 
 } catch (IOException e) { 
 e.printStackTrace(); 
 } 
 } 

2.BufferedReader—字符輸入緩沖流

從字符輸入流中讀取信息,緩沖各個(gè)字符,從而實(shí)現(xiàn)高效讀取??梢灾付ň彌_區(qū)的大小,一般情況下,默認(rèn)的緩沖區(qū)大小就足夠了。默認(rèn)大小為8192.

示例代碼:

public static void main(String[] args) { 
 try { 
 Reader r=new FileReader("L:\\test.txt"); 
 //根據(jù)字符輸入流創(chuàng)建字符緩沖流 
 BufferedReader buf=new BufferedReader(r); 
 char [] data=new char[512]; 
 //數(shù)據(jù)讀取 
 int len=-1; 
 StringBuilder sb=new StringBuilder(); 
 while((len=buf.read(data))!=-1) 
 { 
 sb.append(new String(data,0,len)); 
 } 
 System.out.println("內(nèi)容是: "+sb); 
 //關(guān)閉流 
 buf.close(); 
 r.close(); 
 } catch (IOException e) { 
 e.printStackTrace(); 
 } 
 } 

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 最簡(jiǎn)單的MyBatis Plus的多表聯(lián)接、分頁(yè)查詢實(shí)現(xiàn)方法

    最簡(jiǎn)單的MyBatis Plus的多表聯(lián)接、分頁(yè)查詢實(shí)現(xiàn)方法

    這篇文章主要介紹了最簡(jiǎn)單的MyBatis Plus的多表聯(lián)接、分頁(yè)查詢實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • idea中g(shù)it如何修改commit(ChangeList的使用)

    idea中g(shù)it如何修改commit(ChangeList的使用)

    這篇文章主要介紹了idea中g(shù)it如何修改commit(ChangeList的使用),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java?從json提取數(shù)組并轉(zhuǎn)換為list的操作方法

    Java?從json提取數(shù)組并轉(zhuǎn)換為list的操作方法

    這篇文章主要介紹了Java?從json提取出數(shù)組并轉(zhuǎn)換為list,使用getJSONArray()獲取到j(luò)sonarray后,再將jsonArray轉(zhuǎn)換為字符串,最后將字符串解析為L(zhǎng)ist列表,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • Spring?BeanPostProcessor后處理器源碼解析

    Spring?BeanPostProcessor后處理器源碼解析

    這篇文章主要介紹了Spring?BeanPostProcessor后處理器源碼解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-09-09
  • SpringBoot+MinIO+KKFileView實(shí)現(xiàn)文件預(yù)覽功能

    SpringBoot+MinIO+KKFileView實(shí)現(xiàn)文件預(yù)覽功能

    本文主要介紹了使用SpringBoot、MinIO和KKFileView實(shí)現(xiàn)文件上傳和在線預(yù)覽功能,通過(guò)配置MinIO存儲(chǔ)文件,并使用KKFileView生成預(yù)覽鏈接,感興趣的可以了解一下
    2024-11-11
  • Spring中IOC和AOP的深入講解

    Spring中IOC和AOP的深入講解

    這篇文章主要給大家介紹了關(guān)于Spring中IOC和AOP的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 使用idea開(kāi)發(fā)Servlet詳細(xì)圖文教程

    使用idea開(kāi)發(fā)Servlet詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于使用idea開(kāi)發(fā)Servlet的相關(guān)資料,將idea添加servlet的過(guò)程其實(shí)非常簡(jiǎn)單,只需要按照以下幾個(gè)步驟即可完成,需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)讀取文章中重復(fù)出現(xiàn)的中文字符串

    Java實(shí)現(xiàn)讀取文章中重復(fù)出現(xiàn)的中文字符串

    本文主要介紹了Java實(shí)現(xiàn)讀取文章中重復(fù)出現(xiàn)的中文字符串的方法。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • spring使用ehcache實(shí)現(xiàn)頁(yè)面緩存示例

    spring使用ehcache實(shí)現(xiàn)頁(yè)面緩存示例

    這篇文章主要介紹了spring使用ehcache實(shí)現(xiàn)頁(yè)面緩存示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • 了解java架構(gòu)之微服務(wù)架構(gòu)—雪崩效應(yīng)

    了解java架構(gòu)之微服務(wù)架構(gòu)—雪崩效應(yīng)

    這篇文章主要介紹了了解java架構(gòu)之微服務(wù)架構(gòu)—雪崩效應(yīng),微服務(wù)化產(chǎn)品線,每一個(gè)服務(wù)專心于自己的業(yè)務(wù)邏輯,并對(duì)外提供相應(yīng)的接口,看上去似乎很明了,其實(shí)還有很多的東西需要考慮,,需要的朋友可以參考下
    2019-06-06

最新評(píng)論

莎车县| 饶河县| 拉萨市| 喀什市| 当阳市| 白银市| 新野县| 龙山县| 全州县| 秦皇岛市| 德江县| 三都| 望都县| 隆化县| 峡江县| 潜山县| 广丰县| 建德市| 南阳市| 分宜县| 深州市| 南雄市| 依兰县| 驻马店市| 临安市| 横山县| 扶沟县| 永靖县| 利津县| 揭西县| 崇信县| 泰州市| 铜川市| 盐池县| 彰化市| 抚远县| 仁化县| 平塘县| 疏附县| 福贡县| 盐亭县|