//首先需要在專案裡引用sharpziplib.dll。然後修改其中的關於壓縮和解壓縮的類。實現原始碼如下:
/// /// 壓縮檔案///
using system;
using system.io;
using icsharpcode.sharpziplib.checksums;
using icsharpcode.sharpziplib.zip;
using icsharpcode.sharpziplib.gzip;
namespace compression
system.io.filestream streamtozip = new system.io.filestream(filetozip,system.io.filemode.open , system.io.fileaccess.read);
system.io.filestream zipfile = system.io.file.create(zipedfile);
zipoutputstream zipstream = new zipoutputstream(zipfile);
zipentry zipentry = new zipentry( "zippedfile ");
zipstream.putnextentry(zipentry);
zipstream.setlevel(compressionlevel);
byte buffer = new byte[blocksize];
system.int32 size =streamtozip.read(buffer,0,buffer.length);
zipstream.write(buffer,0,size);
try
}
catch(system.exception ex)
zipstream.finish();
zipstream.close();
streamtozip.close();
} public void zipfilemain(string args)
s.finish();
s.close();
} }
} //現在再來看看解壓檔案類的原始碼
/// /// 解壓檔案
///
using system;
using system.text;
using system.collections;
using system.io;
using system.diagnostics;
using system.runtime.serialization.formatters.binary;
using system.data;
using icsharpcode.sharpziplib.bzip2;
using icsharpcode.sharpziplib.zip;
using icsharpcode.sharpziplib.zip.compression;
using icsharpcode.sharpziplib.zip.compression.streams;
using icsharpcode.sharpziplib.gzip;
namespace decompression
else
} streamwriter.close();
} }
s.close();
} }
}
/// /// 呼叫原始碼來自網路///
private void button2_click_1(object sender, system.eventargs e)
private void button2_click(object sender, system.eventargs e)
C 壓縮檔案(SharpZipLib)
使用國外開源加壓解壓庫icsharpcode.sharpziplib實現加壓,該庫的官方 為 使用體驗 可以照著例子實現簡單的加壓解壓,可以加壓乙個資料夾中的所有檔案,但沒有提供加壓子資料夾的說明。目前網上的一些 有的無法加壓空資料夾,有的加壓了用rar解不開,這是一點需要改進的。但如果只需要加壓資...
SharpZipLib壓縮解壓
using system using system.collections.generic using system.linq using system.text using system.io using icsharpcode.sharpziplib.zip namespace test zip...
用SharpZipLib來壓縮和解壓檔案
1.建立工程,新增引用,新增sharpziplib.dll 2.建立壓縮和解壓類compressionfile.cs 新增如下 using system using system.io using icsharpcode.sharpziplib.zip using icsharpcode.sharp...