導航:首頁 > 文件處理 > gzipstream壓縮文件

gzipstream壓縮文件

發布時間:2023-07-15 07:08:19

❶ c# deflatestream gzipstream 區別

DeflateStream 類
注意:此類在 .NET Framework 2.0 版中是新增的。

提供用於使用 Deflate 演算法壓縮解壓縮流的方法和屬性。
此類表示 Deflate 演算法,這是無損壓縮和解壓縮文件的行業標准演算法。它結合了 LZ77 演算法和霍夫曼編碼。只能使用以前綁定的中間存儲量來產生或使用數據,即使對於任意長度的、按順序出現的輸入數據流也是如此。這種格式可以通過不涉及專利使用權的方式輕松實現。有關更多信息,請參見 RFC 1951「DEFLATE Compressed Data Format Specification version 1.3」(Deflate 壓縮數據格式規范版本 1.3)。此類不能用於壓縮大於 4 GB 的文件。

GZipStream 類
注意:此類在 .NET Framework 2.0 版中是新增的。

提供用於壓縮和解壓縮流的方法和屬性。
此類表示 GZip 數據格式,它使用無損壓縮和解壓縮文件的行業標准演算法。這種格式包括一個檢測數據損壞的循環冗餘校驗值。GZip 數據格式使用的演算法與 DeflateStream 類的演算法相同,但它可以擴展以使用其他壓縮格式。這種格式可以通過不涉及專利使用權的方式輕松實現。gzip 的格式可以從 RFC 1952「GZIP file format specification 4.3(GZIP 文件格式規范 4.3)GZIP file format specification 4.3(GZIP 文件格式規范 4.3)」中獲得。此類不能用於壓縮大於 4 GB 的文件。

❷ c# .net gzip壓縮源碼

你可以使用.net的GZipStream來實現。受以下版本支持:4.5、4、3.5、3.0、2.0
參考:
下面的示例演示如何使用 GZipStream 類壓縮和解壓縮文件目錄。

using System;
using System.IO;
using System.IO.Compression;
namespace zip
{
public class Program
{
public static void Main()
{
string directoryPath = @"c:\users\public\reports";
DirectoryInfo directorySelected = new DirectoryInfo(directoryPath);
foreach (FileInfo fileToCompress in directorySelected.GetFiles())
{
Compress(fileToCompress);
}
foreach (FileInfo fileToDecompress in directorySelected.GetFiles("*.gz"))
{
Decompress(fileToDecompress);
}
}
public static void Compress(FileInfo fileToCompress)
{
using (FileStream originalFileStream = fileToCompress.OpenRead())
{
if ((File.GetAttributes(fileToCompress.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & fileToCompress.Extension != ".gz")
{
using (FileStream compressedFileStream = File.Create(fileToCompress.FullName + ".gz"))
{
using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress))
{
originalFileStream.CopyTo(compressionStream);
Console.WriteLine("Compressed {0} from {1} to {2} bytes.",
fileToCompress.Name, fileToCompress.Length.ToString(), compressedFileStream.Length.ToString());
}
}
}
}
}
public static void Decompress(FileInfo fileToDecompress)
{
using (FileStream originalFileStream = fileToDecompress.OpenRead())
{
string currentFileName = fileToDecompress.FullName;
string newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);
using (FileStream decompressedFileStream = File.Create(newFileName))
{
using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedFileStream);
Console.WriteLine("Decompressed: {0}", fileToDecompress.Name);
}
}
}
}
}
}

閱讀全文

與gzipstream壓縮文件相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:60
Windows常用c編譯器 瀏覽:777
關於改善國家網路安全的行政命令 瀏覽:832
安卓如何下載網易荒野pc服 瀏覽:653
javainetaddress 瀏覽:103
蘋果4s固件下載完了怎麼解壓 瀏覽:1001
命令zpa 瀏覽:284
python編譯器小程序 瀏覽:943
在app上看視頻怎麼光線調暗 瀏覽:539
可以中文解壓的解壓軟體 瀏覽:591
安卓卸載組件應用怎麼安裝 瀏覽:911
使用面向對象編程的方式 瀏覽:338
程序員項目經理的年終總結範文 瀏覽:928
內衣的加密設計用來幹嘛的 瀏覽:431
淮安數據加密 瀏覽:291
魔高一丈指標源碼 瀏覽:981
松下php研究所 瀏覽:167
c回調java 瀏覽:398
夢幻端游長安地圖互通源碼 瀏覽:744
電腦本地文件如何上傳伺服器 瀏覽:311