A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周刚 中级黑马   /  2012-7-3 22:50  /  1850 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周刚 于 2012-7-3 23:36 编辑

     老师在19天14集,讲到自定义缓冲区复制mp3数据时,思想是这样的:定义一个字节缓冲数组byte[1024]--->然后每一次从硬盘里面读取1024个字节到缓冲区中--->每一次从缓冲区中读取一个字节,并写到输出流中...
     为什么这么麻烦啊?要一个一个字节从缓冲区中取出来。难道不能像字符输出流一样,直接将缓冲数组写入吗?如,字符流有如下方法:
    FileReader fr = new FileReader("a.txt");
    FileWriter  fw= new FileWriter("b.txt");
    char[] buff = new char[1024];
    while(num=fr.read(buff)){
        fw.write(buff,0,num);  
        fw.flush();
    }
...

难道字节流没有类似的方法bufos.write(buf),直接将缓冲数组写入到输出流?
字节缓冲流是什么破缓冲流啊?!!!!感觉效率一点都不高。还要一个字节一个字节的
从输入缓冲流里取出数据,然后一个字节一个字节写到输出缓冲流中,还要写什么指针,受不鸟了。看下图:

更多图片 小图 大图
组图打开中,请稍候......

4 个回复

倒序浏览
自定义缓冲类就是让你仿照字节流的缓冲功能写一个类似的带有缓冲区的操作流。不是让你直接用java现有的缓冲流。
回复 使用道具 举报
车风波 发表于 2012-7-3 23:13
自定义缓冲类就是让你仿照字节流的缓冲功能写一个类似的带有缓冲区的操作流。不是让你直接用java现有的缓冲 ...

标准的的字节缓冲流也是这样的,一个一个字节的操作,好蛋痛!!
回复 使用道具 举报
其实是可以一次性写入很多数据的,楼主继续往下看毕老师的视频就明白了!
回复 使用道具 举报
往下看后面还有打印流更nb
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马