欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

字節(jié)緩沖流為:

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

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

字符緩沖流為:

BufferedReader—字符輸入緩沖流

BufferedWriter—字符輸出緩沖流

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

 一.  字節(jié)緩沖流

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

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

示例代碼:

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

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

BufferedInputStream為別的輸入流添加緩沖功能,在創(chuàng)建BufferedInputStream時會創(chuàng)建一個內部緩沖數組,用于緩沖數據,提高性能。

示例代碼:

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

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

二.  字符緩沖流

1.BufferedWriter—字符輸出緩沖流

將文本寫入字符輸出流,緩沖各個字符,從而提供高效的寫入。可以指定緩沖區(qū)的大小,一般情況下,默認的緩沖區(qū)大小就足夠了。

示例代碼:

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

2.BufferedReader—字符輸入緩沖流

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

示例代碼:

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

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關文章

  • javaweb實現(xiàn)百度GPS定位接口(經緯度)

    javaweb實現(xiàn)百度GPS定位接口(經緯度)

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

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

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

    Java?回調callback舉例詳解

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

    SpringMVC自定義日期轉換器方式

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

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

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

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

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

    java基面試礎知識詳解

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

    JAVA項目常用異常處理匯總

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

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

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

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

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

最新評論