因为要求的压缩和解压非常简单,只有一级目录,而且文件很小,就没有使用SharpZipLib而是自己用.Net 2.0中的GZipStream类写了个简单的。将保存每个文件内容的byte数组和文件名的一个类型的示例放入arraylist里,再对其序列化,压缩序列化的流并保存为压缩包。其实对于多级目录在压缩时对其文件进行递归并在解压时根据文件名称和路径重新构建文件目录就也可以实现了。

使用GZipStream类压缩和解压文件夹using System;
使用GZipStream类压缩和解压文件夹
using System.Text;
使用GZipStream类压缩和解压文件夹
using System.Runtime.Serialization;
使用GZipStream类压缩和解压文件夹
using System.Runtime.Serialization.Formatters.Binary;
使用GZipStream类压缩和解压文件夹
using System.Collections;
使用GZipStream类压缩和解压文件夹
using System.IO;
使用GZipStream类压缩和解压文件夹
using System.IO.Compression;
使用GZipStream类压缩和解压文件夹
使用GZipStream类压缩和解压文件夹
namespace GreatCHN.GZipCompression
}

      在System.IO.Compress命名空间下还有一个DeflateStream类,它使用Deflate 算法来进行压缩和解压,它和GZipStream的工作方式是一样的。

相关文章: