请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

BufferedInputStream在此处没有发挥作用

try {
                fin = new BufferedInputStream(new FileInputStream(source));
                fout = new BufferedOutputStream(new FileOutputStream(target));
                byte[] buffer = new byte[1024];
                int result;
              
                while ((result = fin.read(buffer)) != -1){
                    fout.write(buffer,0,result);
     }

老师您好,请教一个问题, BufferedInputStream这个具体装饰类并没有去重写InputStream的read(byte[])byte方法,所以您调用的这个方法其实还是FileInputStream这个被装饰者实现的,BufferedInputStream并没有起到装饰器的作用,但是BufferedInputStream重写了read(byte b[], int off, int len)这个方法,您是否应该这样写来利用到BufferedInputStream的优势。

while ((result = fin.read(buffer,0,buffer.length)) != -1)


正在回答

1回答

多谢你反馈和提问~ 这个星期导师因为搬家的原因 需要请个小假 一周后回来解答你的问题~ 感谢你的耐心和理解~

0 回复 有任何疑惑可以回复我~
  • 提问者 Panda_io #1
    请问这都快两个月了,还不能解答一下吗?
    回复 有任何疑惑可以回复我~ 2020-11-18 19:26:50
  • Stannum 回复 提问者 Panda_io #2
    推送到代码仓库了哈
    回复 有任何疑惑可以回复我~ 2020-11-19 23:23:28
  • 提问者 Panda_io #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-11-20 09:31:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信