C# 文件压缩与解压Gzip与Deflate
|
admin
2024年8月18日 10:47
本文热度 2219
|
摘要
压缩与解压是计算机领域中常用的数据处理技术。通过压缩可以减小文件的大小,节省存储空间和传输带宽。而解压则是将压缩文件恢复为原始文件的过程。在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.");}

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.");}

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.");}

总结
通过使用C#中的压缩和解压算法,我们可以轻松地实现文件的压缩和解压操作。以上示例代码演示了使用GZip和Deflate算法进行压缩和解压的基本用法。根据实际需求和场景,我们还可以选择其他的压缩算法来进行数据处理。
该文章在 2024/8/19 11:00:00 编辑过