首页 > 学院 > 开发设计 > 正文

BufferedInputStream和BufferedInputStream

2019-11-06 07:02:41
字体:
来源:转载
供稿:网友
BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。BufferedInputStream与BufferedOutputStream分别是FilterInputStream类和FilterOutputStream类的子类,实现了装饰设计模式。

例1: package day01;

import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException;

/** * 缓冲流写出数据的注意事项 * */ public class BOSDemo { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream(“bos.txt”); BufferedOutputStream bos= new BufferedOutputStream(fos ); String str = “随便写点什么吧”; byte[] data = str.getBytes(); bos.write(data); /* * 将缓冲区中的数据强制性写出。 */ bos.flush(); bos.close(); } } 例2:使用BufferedInputStream和BufferedOutputStream完成MP3的复制:

package day01;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 使用缓冲流提高读写效率 * @author Administrator * */public class CopyDemo4 {public static void main(String[] args) throws IOException { FileInputStream src=new FileInputStream("草原歌曲 - 我要去西藏.mp3"); BufferedInputStream bis=new BufferedInputStream(src);//使用缓冲输入流提高读取效率 FileOutputStream fos=new FileOutputStream("草原歌曲 - 我要去西藏aa.mp3"); BufferedOutputStream bos=new BufferedOutputStream(fos);//使用缓冲输出流提高写出效率 int d=-1; while((d=bis.read())!=-1){ bos.write(d);//读写时就基于缓冲流 } System.out.PRintln("复制完毕"); bos.close(); bis.close();}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表