C# 文件压缩与解压Gzip与Deflate
|
admin
2024年8月18日 10:47
本文热度 249
|
摘要
压缩与解压是计算机领域中常用的数据处理技术。通过压缩可以减小文件的大小,节省存储空间和传输带宽。而解压则是将压缩文件恢复为原始文件的过程。在C#中,我们可以使用各种库和算法来实现压缩与解压操作。
正文
GZip压缩
GZip压缩算法是一种常见的压缩算法,它使用DEFLATE算法来压缩数据。在C#中,我们可以使用System.IO.Compression
命名空间下的GZipStream
类来进行GZip压缩。
static void Main(string[] args)
{
string sourceFile = "D:\\BaiduSyncdisk\\11Test\\测试导入数据.csv";
string compressedFile = "D:\\BaiduSyncdisk\\11Test\\compressed.gz";
using (FileStream sourceStream = new FileStream(sourceFile, FileMode.Open))
{
using (FileStream compressedStream = File.Create(compressedFile))
{
using (GZipStream compressionStream = new GZipStream(compressedStream, CompressionMode.Compress))
{
sourceStream.CopyTo(compressionStream);
}
}
}
Console.WriteLine("Compression complete.");
}
![](/files/attmgn/2024/8/admin20240819105912226_0.jpg)
Deflate压缩
Deflate压缩算法是GZip压缩算法的基础,也是一种常用的压缩算法。在C#中,我们可以使用System.IO.Compression
命名空间下的DeflateStream
类来进行Deflate压缩。
static void Main(string[] args)
{
string sourceFile = "D:\\BaiduSyncdisk\\11Test\\测试导入数据.csv";
string compressedFile = "D:\\BaiduSyncdisk\\11Test\\compressed.deflate";
using (FileStream sourceStream = new FileStream(sourceFile, FileMode.Open))
{
using (FileStream compressedStream = File.Create(compressedFile))
{
using (DeflateStream compressionStream = new DeflateStream(compressedStream, CompressionMode.Compress))
{
sourceStream.CopyTo(compressionStream);
}
}
}
Console.WriteLine("Compression complete.");
}
GZip解压
在C#中,我们可以使用System.IO.Compression
命名空间下的GZipStream
类来进行GZip解压。
static void Main(string[] args)
{
string compressedFile = "D:\\BaiduSyncdisk\\11Test\\compressed.gz";
string decompressedFile = "D:\\BaiduSyncdisk\\11Test\\测试导入数据1.csv";
using (FileStream compressedStream = new FileStream(compressedFile, FileMode.Open))
{
using (FileStream decompressedStream = File.Create(decompressedFile))
{
using (GZipStream decompressionStream = new GZipStream(compressedStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedStream);
}
}
}
Console.WriteLine("Decompression complete.");
}
![](/files/attmgn/2024/8/admin20240819105912431_1.jpg)
Deflate解压
在C#中,我们可以使用System.IO.Compression
命名空间下的DeflateStream
类来进行Deflate解压。
static void Main(string[] args)
{
string compressedFile = "D:\\BaiduSyncdisk\\11Test\\compressed.deflate";
string decompressedFile = "D:\\BaiduSyncdisk\\11Test\\测试导入数据2.csv";
using (FileStream compressedStream = new FileStream(compressedFile, FileMode.Open))
{
using (FileStream decompressedStream = File.Create(decompressedFile))
{
using (DeflateStream decompressionStream = new DeflateStream(compressedStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedStream);
}
}
}
Console.WriteLine("Decompression complete.");
}
![](/files/attmgn/2024/8/admin20240819105912500_2.jpg)
总结
通过使用C#中的压缩和解压算法,我们可以轻松地实现文件的压缩和解压操作。以上示例代码演示了使用GZip和Deflate算法进行压缩和解压的基本用法。根据实际需求和场景,我们还可以选择其他的压缩算法来进行数据处理。
该文章在 2024/8/19 11:00:00 编辑过