檔案壓縮(Gzip)

2021-10-05 09:18:24 字數 2301 閱讀 9828

今天頭鐵用system.io.compression類來寫一下檔案的gzip壓縮,結果***。。。。。。。。(給自己整暈了)

主要是壓縮之後我發現是有內容的,又想著寫一下解壓部分,結果要麼溢位,要麼解壓成功後得到乙個啥也沒有的空殼。下面我給大家分享一下壓縮部分吧(我覺得應該也是有問題的,因為他有內容但是明顯不夠,純屬個人看法)。後面解壓部分我也放在這裡,如果有要嘗試的小夥伴搞出來了就給我指點指點,不勝感激。

——————————————————

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.io;

using system.io.compression;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace 檔案壓縮

private

void

form1_load

(object sender,

eventargs e)

public

filestream stream1

public

filestream stream2

public

gzipstream gzip

private

void

button2_click

(object sender,

eventargs e)if(

string

.isnullorempty

(textbox2.text)

)string str1 = textbox1.text;

//獲取檔案路徑

string str2 = textbox2.text.

trim()

+".gzip"

;//獲取壓縮檔案名

trycatch

(exception ex)

finally}}

#region 開啟檔案選擇對話方塊

///

/// 開啟檔案選擇對話方塊

///

///

///

private

void

button1_click

(object sender,

eventargs e)

}#endregion

private

void

label2_click

(object sender,

eventargs e)

#region 選擇要解壓的檔案

private

void 解壓_click

這是乙個失敗的案例。。。。

所以得出結論:這種方法太扯,強烈建議用

icsharpcode.sharpziplib

這個類庫來做很簡便了,也容易理解。

我去查到有篇文章寫的不錯,應該是很有幫助的。轉到

補充說明一下,我用上面這篇部落格**寫出來的結果是一樣的,都是壓縮有東西,解壓為空殼。個人覺得是解壓後的檔案位元組太多,解壓會超過定義的範圍,就是壓縮內容是比原內容小的,不好去界定到底要多大空間,應該是需要自己設計一種演算法去解決的。(我的認知有限,不知道說得對不對,先挖個坑以後再填)

gzip壓縮檔案 解壓檔案

解壓gzip壓縮格式檔案 eg 123.mms param source 原始檔 param target 目標檔案 public static void ungzipfile file source,string target throws exception gzin.close 關閉壓縮輸入流...

symbian壓縮和解壓縮GZIP檔案

開發夥伴平台 s60 3rd edition,fp1 詳細描述 下列 片段演示了如何壓縮和解壓縮gzip檔案,這裡使用了cezfiletogzip類和cezgziptofi類。可以通過自簽名執行。mmp檔案 需要下列鏈結庫 code library efsrv.lib library ezlib.l...

nginx 預壓縮 gzip 靜態檔案

對於靜態檔案先壓縮再輸出是再正常不過的事了,但是這種壓縮都是動態的,在每次請求都會先壓縮再輸出,大大浪費了很多cpu。如果前端加了反向 快取,那能減少這種浪費。但不是每個生產環境前端都有快取的。而nginx有個模組gzip precompression,這個模組的作用是對於需要壓縮的檔案,直接讀取已...