最近因事物需要,需要将大文件分解为几个小文件,然后就行传输,在接收端需要对接收到的小文件进行融合。因此用Qt写了这个小工具。现在奉献上这个小工具的代码和思路。
我们知道任何文件在计算机上都是二进制数据块,因此只需要使用读写二进制的形式来读取大文件,在将读取的大文件以二进制形式写入小文件,这样就可以将文件拆分了(当然这是非常简单的拆分方法,对有些文件肯定存在错误的,因为本人在这方面的知识很肤浅)。同样小文件的融合就是拆分的逆过程。
在读写文件的过程中我使用的是C++标准库ifstream和ofstream两个文件操作的类。以ios::binary方式打开文件。这里就不贴代码了,我下面会直接给出代码的下载地址。
下面是演示(我尝试分解和融合视频、pdf、压缩等文件均成功,但是在Ubuntu上有些文本文件却不能读)。
测试文件的信息:
视频文件的分解和融合(融合后能正常播放):
pdf文件的测试
压缩文件的测试:
效果还是可以的,能满足自己要求的那些文件的分解和融合。
代码下载地址:
------------------------------------------分割线------------------------------------------
具体下载目录在 /2016年资料/1月/8日/Qt实现文件拆分和融合小工具/
------------------------------------------分割线------------------------------------------