xiazhianran6 发表于 2018-2-2 12:48:06

这段切割文件的代码为什么最后一个文件会缺东西呢

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\always\\CSS.avi"));
                byte [] b = new byte; //数组大小大概是1mb;
                int count = 0; //文件名计数器
                int bigc = 0;//数组次数计数器;
                while(true)
                {
                        int temp = bis.read(b);
                        if (temp==-1)
                        {
                                break;
                        }
                        if (bigc<20)
                        {
                        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\always\\very many\\"+(count)+".part",true));
                        bos.write(b,0,temp);      
                        bos.close();            
                        bigc++;
                        }
                        else if (bigc==20)
                        {
                                count++;
                                bigc=0;
                        }
                }
                bis.close();

小鱼说 发表于 2018-2-4 21:40:42

你的数组计数20以前正常读取,写入。
到二十计数置0文件名加一没问题。
但是计数到第二十的时候也会正常读取。
指针也会加,但是没有写入。当然会少了。
(相当于第二十次读了不写入。)
我的看法,我技术不比你高,欢迎交流
页: [1]
查看完整版本: 这段切割文件的代码为什么最后一个文件会缺东西呢