为什么使用缓冲流?如果不用缓冲流的话,程序是读一个数据,写一个数据。这样在数据量大的程序中非常影响效率。
缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了
public class BufferCopy {
/**
* @param args
* 利用缓冲区复制一个文件
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FileReader fr =null;
FileWriter fw = null;
BufferedReader br = null;
BufferedWriter bw = null;
try{
fr = new FileReader("c:\\1.text");
fw = new FileWriter("d:\\1.text");
br = new BufferedReader(fr);
bw = new BufferedWriter(fw);
String line = null;
while((line=br.readLine())!=null){
bw.write(line);
//运用到缓冲区是一定要flush
bw.flush();
}
}catch(IOException e){
throw new RuntimeException("读写失败");
}finally{
try {
if(br!=null)
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("读取失败");
}
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("写入失败");
}
}
}
}
}
|