GZipStream用于从一个流读取数据写入到另一个流,GZipStream不能写入到其它的资源,比如文件或者内存,只能从流到流。
GZipStream使用的一般流程如下:
打开一个现有的文件
打开/创建输出文件
创建GZipStream对象
逐字节读源文件,并把它传递到GZipStream
使用GZipStream写入到输出文件流
String sourcefilename = FILETOBECOMPRESSED; Filestream sourcefile = File.OpenRead(sourcefilename); Filestream destinationfile = File.Create(outputfilename); GZipStream compressionstream = new GZipStream(destinationfile, CompressionMode.Compress); int sourcebyte = sourcefile.ReadByte(); while(sourcebyte != -1) { compressionstream.WriteByte((byte)sourcebyte); sourcebyte = sourcefile.ReadByte(); }