摘要
壓縮與解壓是計算機領(lǐng)域中常用的數(shù)據(jù)處理技術(shù)。通過壓縮可以減小文件的大小,節(jié)省存儲空間和傳輸帶寬。而解壓則是將壓縮文件恢復(fù)為原始文件的過程。在C#中,我們可以使用各種庫和算法來實現(xiàn)壓縮與解壓操作。
正文
GZip壓縮
GZip壓縮算法是一種常見的壓縮算法,它使用DEFLATE算法來壓縮數(shù)據(jù)。在C#中,我們可以使用System.IO.Compression
命名空間下的GZipStream
類來進行GZip壓縮。
static void Main(string[] args)
{
string sourceFile = "D:\\BaiduSyncdisk\\11Test\\測試導(dǎo)入數(shù)據(jù).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壓縮算法的基礎(chǔ),也是一種常用的壓縮算法。在C#中,我們可以使用System.IO.Compression
命名空間下的DeflateStream
類來進行Deflate壓縮。
static void Main(string[] args)
{
string sourceFile = "D:\\BaiduSyncdisk\\11Test\\測試導(dǎo)入數(shù)據(jù).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\\測試導(dǎo)入數(shù)據(jù)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\\測試導(dǎo)入數(shù)據(jù)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.");
}
總結(jié)
通過使用C#中的壓縮和解壓算法,我們可以輕松地實現(xiàn)文件的壓縮和解壓操作。以上示例代碼演示了使用GZip和Deflate算法進行壓縮和解壓的基本用法。根據(jù)實際需求和場景,我們還可以選擇其他的壓縮算法來進行數(shù)據(jù)處理。
該文章在 2024/8/19 11:00:00 編輯過