BufferedInputStream&BufferedOutputStream
这两个流类为IO提供带缓冲区的操作,一般打开文件进行写入或者读取操作时,都会加上缓冲,这种流模式提高了缓冲的性能。
从应用程序中把输入放入文件中,相当于把一缸水倒入另一缸中。
与其他字节流区别如下:
1.FileOutputStream------>write()相当于一滴一滴把水转移过去
2.DataOutputStream------>writeXxx()方法会方便一些,相当于一瓢一瓢的转移
3.BufferedOutputStream----->write方法会更方便,相当于一瓢一瓢把水装到桶里,再把桶里水倒入另一个缸中
/*
* 进行文件的拷贝,用带缓冲的字节流
*/
public static void copyFilebyBuffer(File srcFile,File deskFile) throws IOException {
if(!srcFile.exists())
throw new IllegalArgumentException("文件"+srcFile+"不存在!");
if(!srcFile.isFile())
throw new IllegalArgumentException(srcFile+"不是文件!");
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(deskFile));
int c;
while((c = bis.read())!= -1){
bos.write(c);
bos.flush();//清空缓冲区数据
}
bis.close();
bos.close();
}