-
实验报告:多文件压缩与解压程序的实现与分析
资源介绍
1. 进一步理解和掌握文件操作和命令行参数的实现;
2. 初步了解和掌握分析和使用第三方类库进行程序设计;
3. 初步接触如何对多种解决方案进行对比和选择
1. 分析给出的多文件打包/解包程序MyZip和单文件压缩程序Compress,将程序MyZip改写为一个能够处理多文件压缩/解压的控制台程序,可利用命令行参数控制其完成如下功能:
1. 将命令行参数指定的一组文件压缩为一个压缩文件。 其Usage为:MyZip /A <压缩文件名> <文件1> [<文件2> …]
2. 列出命令行参数指定的压缩文件中的各文件名。 其Usage为:MyZip /L <压缩文件名>
3将命令行参数指定的压缩文件解压到当前目录。 其Usage为:MyZip /E <压缩文件名>
提示:只需修改MyZip程序,将原先读取要加入的文件的内容后直接写到压缩文件中的代码,修改为先将要加入的文件压缩为一个临时文件后,再将压缩后的文件合并到原压缩文件中。压缩要加入的文件时,可调用LZARI类的Compress成员函数来实现。同样,解压缩时,可先将指定文件解包为各个(压缩后的)文件,再调用LZARI类的UnCompress成员函数,对解包出的临时文件进行解压缩,生成需要的(未压缩)文件;
2. (选作)修改你的程序,将功能1)改为:如果指定的压缩文件不存在,则新建一个指定名称的压缩文件,包含指定的一组文件的压缩内容;否则,将指定的一组文件压缩后加入到原有压缩文件中;
3. (选作)给出的多文件打包/解包程序MyZip所生成的打包文件中(以及由此改写而来的多文件压缩文件中),各文件的信息安排如下图所示。