亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

字節(jié)緩沖流為:

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

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

字符緩沖流為:

BufferedReader—字符輸入緩沖流

BufferedWriter—字符輸出緩沖流

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

 一.  字節(jié)緩沖流

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

BufferedOutputStream類實(shí)現(xiàn)緩沖的輸出了,通過設(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(); 
 } 
 } 

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

相關(guān)文章

  • javaweb實(shí)現(xiàn)百度GPS定位接口(經(jīng)緯度)

    javaweb實(shí)現(xiàn)百度GPS定位接口(經(jīng)緯度)

    這篇文章主要介紹了javaweb實(shí)現(xiàn)百度GPS定位接口(經(jīng)緯度),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • springboot 配置文件里部分配置未生效的解決

    springboot 配置文件里部分配置未生效的解決

    springboot 配置文件里部分配置未生效的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java?回調(diào)callback舉例詳解

    Java?回調(diào)callback舉例詳解

    這篇文章主要介紹了Java?回調(diào)callback舉例詳解,軟件模塊之間總是存在一定的接口,從調(diào)用方式上,可以把他們分為三類:同步調(diào)用、回調(diào)和異步調(diào)用
    2022-09-09
  • SpringMVC自定義日期轉(zhuǎn)換器方式

    SpringMVC自定義日期轉(zhuǎn)換器方式

    這篇文章主要介紹了SpringMVC如何自定義日期轉(zhuǎn)換器問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 詳解分別用Kotlin和java寫RecyclerView的示例

    詳解分別用Kotlin和java寫RecyclerView的示例

    本篇文章主要介紹了詳解分別用Kotlin和java寫RecyclerView的示例,詳解分別用Kotlin和java寫RecyclerView的示例
    2017-12-12
  • JAVA使用ElasticSearch查詢in和not in的實(shí)現(xiàn)方式

    JAVA使用ElasticSearch查詢in和not in的實(shí)現(xiàn)方式

    今天小編就為大家分享一篇關(guān)于JAVA使用Elasticsearch查詢in和not in的實(shí)現(xiàn)方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • java基面試礎(chǔ)知識(shí)詳解

    java基面試礎(chǔ)知識(shí)詳解

    這篇文章主要介紹了java基面試礎(chǔ)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • JAVA項(xiàng)目常用異常處理匯總

    JAVA項(xiàng)目常用異常處理匯總

    這篇文章主要介紹了JAVA項(xiàng)目常用異常處理匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • java:try...catch跳過異常繼續(xù)處理循環(huán)問題

    java:try...catch跳過異常繼續(xù)處理循環(huán)問題

    這篇文章主要介紹了java:try...catch跳過異常繼續(xù)處理循環(huán)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • webuploader 實(shí)現(xiàn)圖片批量上傳功能附實(shí)例代碼

    webuploader 實(shí)現(xiàn)圖片批量上傳功能附實(shí)例代碼

    這篇文章主要介紹了webuploader 實(shí)現(xiàn)圖片批量上傳功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11

最新評論