简介
文件序列化与反序列化,也可以叫文件打包与解包,相当于tar命令中的仅打包命令:tar –cvf。如果直接调用Tar命令,则会在硬盘上留下一个打包文件,使用的时候再读取到内存中,这种方法,打包时占用一份时间,解包时占用一份时间,读取到内存中也占用一份时间,如果调用的方式不对,可能会造成打包的时候还未打完包,调用函数就返回了,造成后续操作有误。这种情况,我们就可以自己写一套文件序列化与反序列化实现。
本文中主要讲实现,代码不予给出。
整体说明
将文件序列化,则至少要存储文件的这些信息:文件名,上一节点名,文件内容,为了说明这些内容,则要添加这些信息:文件名长度,文件大小等。这些信息作为文件头,文件内容作为文件体,整理后便于传输:
参考文件头:
struct stuDir
{