c# 利用 GZipStream 压缩解压缩文件(所有类型的文档)
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GZipStream_压缩文件
{
class Program
{
static void Main(string[] args)
{
string sourpath = "D:/目标文件";
string compressPath = "D:/压缩后文件";
string DecompressPath = "D:/解压后文件";
CompressFile(sourpath, compressPath);
DeCompressFile(compressPath, DecompressPath);
}
private static void CompressFile(String sourpath,String compressPath) {
using (FileStream fsRead = File.OpenRead(sourpath))
{
using (FileStream fsWrite = File.OpenWrite(compressPath))
{
using (GZipStream compressfsWrite = new GZipStream(fsWrite, CompressionMode.Compress))
{
Byte[] array = new Byte[1024];
while (true)
{
int offet = fsRead.Read(array, 0, array.Length);
compressfsWrite.Write(array,0,array.Length);
if (offet == 0) { break; }
}
}
}
};
}
private static void DeCompressFile(String compressPath, String DecompressPath)
{
using (FileStream fsRead = File.OpenRead(compressPath))
{
using (GZipStream DecompressfsRead = new GZipStream(fsRead, CompressionMode.Decompress))
{
using (FileStream fsWrite = File.OpenWrite(DecompressPath))
{
Byte[] array = new Byte[1024];
while (true)
{
int offet=DecompressfsRead.Read(array, 0, array.Length);
fsWrite.Write(array, 0, array.Length);
if (offet == 0) { break; }
}
}
}
};
}
}
}