带缓存的输入/输出流就是先将数据放在缓存区,当缓冲区达到一定的数据量时就会运输,这样可以加大一次运算的数据量,从而减少运输次数(即运输时间),可以大大提高数据运输的效率,达到性能的优化。
常用的带缓存的输入/输出流的类有以字节形式传输的BufferedInputStream类、BufferedOutputStream类和以字符形式传输的BufferedReader类、BufferedWriter类。
创建这些对象时,参数是需要使用带缓冲的对象。
package MyPackage_1;import java.io.*;import java.util.ArrayList;import java.util.List;public class MyClass {public static void main(String[] args) {File f=new File("word.txt");List x=new ArrayList();x.add("在属于未来的星空,无畏闪耀!");x.add("花,是昨日之花;你的梦,是少年之梦!");x.add("瑞雪兆丰,齐迎百福。");try {FileWriter fw=new FileWriter(f);BufferedWriter bw=new BufferedWriter(fw);//使得fw带缓存for(int i = 0; i<x.size(); i++){bw.write((String) x.get(i));bw.newLine();//创建新的一行}bw.close();fw.close();/*先创建的后关闭,后创建的先关闭;*/} catch (IOException e) {e.printStackTrace();}try {FileReader fr=new FileReader(f);BufferedReader br=new BufferedReader(fr);//使得fr带缓存String s=null;while((s=br.readLine())!=null){//一行一行的读取System.out.println(s);}br.close();fr.close();/*先创建的后关闭,后创建的先关闭;*/} catch (Exception e) {e.printStackTrace();}}}
运行结果:

