遇到如下问题,源文件流大小为88888byte,缓冲数组大小为1024byte,就意味着每次可以得到源文件的1024个byte。但我要对文件分块,想多个地方下载,只要记住每次的位置最后就可以拼接回去。 我每次实际想要拿1088个byte 。
如何解决?只要第一次把缓冲数组1024byte拿走,缓冲数组再去缓冲,第二次再去缓冲数组拿1088-1024个,两次视为一次直接拿走了1088个,下次缓冲数组继续从源文件1088byte处开始缓冲。由此 以上思想,源文件可以被分割为多个1088byte大小文件块,只是最后一块可能达不到1088byte大小。
首先认识一下所用的IO流:
RandomAccessFile
此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节