在C#中,可以使用System.IO.Compression命名空间中的类来对文件进行压缩和解压缩操作。下面是一个简单的压缩工具类的示例:
using System;
using System.IO;
using System.IO.Compression;
public static class CompressionUtils
{
public static void CompressFile(string inputFile, string outputFile)
{
using (FileStream inputStream = File.OpenRead(inputFile))
{
using (FileStream outputStream = File.Create(outputFile))
{
using (GZipStream zipStream = new GZipStream(outputStream, CompressionMode.Compress))
{
inputStream.CopyTo(zipStream);
}
}
}
}
public static void DecompressFile(string inputFile, string outputFile)
{
using (FileStream inputStream = File.OpenRead(inputFile))
{
using (FileStream outputStream = File.Create(outputFile))
{
using (GZipStream zipStream = new GZipStream(inputStream, CompressionMode.Decompress))
{
zipStream.CopyTo(outputStream);
}
}
}
}
}
// 使用示例
CompressionUtils.CompressFile("input.txt", "compressed.gz");
CompressionUtils.DecompressFile("compressed.gz", "output.txt");
在上面的示例中,我们定义了一个CompressionUtils类,其中包含了两个静态方法CompressFile和DecompressFile,分别用于压缩和解压缩文件。在这两个方法中,我们使用GZipStream类来实现压缩和解压缩操作。
要使用这个压缩工具类,只需调用CompressionUtils.CompressFile方法来压缩文件,或者调用CompressionUtils.DecompressFile方法来解压缩文件。这样就可以方便地对文件进行压缩和解压缩操作了。