国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 13:15:52
字體:
來源:轉載
供稿:網友

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

緩沖流分為字節和字符緩沖流

字節緩沖流為:

BufferedInputStream―字節輸入緩沖流

BufferedOutputStream―字節輸出緩沖流

字符緩沖流為:

BufferedReader―字符輸入緩沖流

BufferedWriter―字符輸出緩沖流

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

 一.  字節緩沖流

1.BufferedOutputStream―字節輸出緩沖流

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

示例代碼:

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

2.BufferedInputStream―字節輸入緩沖流

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

示例代碼:

public static void main(String[] args) {  try {  //創建字節輸入流實例  InputStream in=new FileInputStream("L://test.txt");  //根據字節輸入流構建字節緩沖流  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―字符輸出緩沖流

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

示例代碼:

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

2.BufferedReader―字符輸入緩沖流

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

示例代碼:

public static void main(String[] args) {  try {  Reader r=new FileReader("L://test.txt");  //根據字符輸入流創建字符緩沖流  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();  }  } 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杭锦后旗| 响水县| 永顺县| 双桥区| 威远县| 游戏| 闵行区| 翁源县| 龙川县| 进贤县| 新密市| 武邑县| 股票| 九龙坡区| 疏附县| 宿迁市| 石首市| 盐源县| 府谷县| 安泽县| 晋江市| 磐石市| 桦川县| 阿拉善左旗| 抚顺县| 邻水| 海口市| 封丘县| 抚松县| 清新县| 南充市| 固安县| 年辖:市辖区| 台南市| 桃江县| 同德县| 静乐县| 新绛县| 乌审旗| 龙山县| 海淀区|