用哈夫曼树写压缩软件,现在只能做到压缩文件,咋压缩文件夹及其子文件就是对文件夹的具体实现不太了解?

拓展开来是这样的:压缩的时候,先对单个文件做压缩,得到每个文件压缩后的二进制码流,然后把这些码流黏连在一起,制成一个大文件。同时你需要创建一个结构文件,记录被压缩的每个文件的信息,比如文件名,二进制长度,在大文件中的起始位置,每个文件对应的解码表等。再把这个结构文件黏在大文件最前面,形成最终的压缩文件。解压的时候,先把结构文件从压缩文件的头部分离出来,依靠结构文件记录的信息,比如起始位置和解码表等,把压缩文件一段一段拆开来分别解压,然后按文件名还原回去就行了。这个对你而言可能是最直观的做法,供参考。
■网友
你不需要了解文件夹的具体实现,一个一个文件压,然后记录文件结构就好了。可以参考zip格式。
■网友
打包和压缩是两个过程,参考tar…


    推荐阅读