建设网站内容的策划书,vps可以用了做网站吗,国内网站建设,织梦cms默认密码C#打包zip文件可以调用现成的第三方dll#xff0c;事半功倍#xff0c;而且该dll完全免费#xff0c;下载地址#xff1a;SharpZipLib 下载完解压缩后#xff0c;把 ICSharpCode.SharpZipLib.dll 拷贝到当前项目的目录下#xff08;如果偷懒的话#xff0c;可以直接拷贝…C#打包zip文件可以调用现成的第三方dll事半功倍而且该dll完全免费下载地址SharpZipLib 下载完解压缩后把 ICSharpCode.SharpZipLib.dll 拷贝到当前项目的目录下如果偷懒的话可以直接拷贝到当前项目的bin/Debug目录下在VS打开的项目引用上右键添加引用 ICSharpCode.SharpZipLib.dll 然后在VS打开的项目上右键新建一个类命名为 ZipHelper.cs把类里面的所有code清空复制以下代码粘贴
复制代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Diagnostics;using ICSharpCode.SharpZipLib;using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.SharpZipLib.Checksums;using ICSharpCode.SharpZipLib.Core;namespace ZipOneCode.ZipProvider{public class ZipHelper{/// summary/// 压缩文件/// /summary/// param namesourceFilePath/param/// param namedestinationZipFilePath/parampublic static void CreateZip(string sourceFilePath, string destinationZipFilePath){if (sourceFilePath[sourceFilePath.Length - 1] ! System.IO.Path.DirectorySeparatorChar)sourceFilePath System.IO.Path.DirectorySeparatorChar;ZipOutputStream zipStream new ZipOutputStream(File.Create(destinationZipFilePath));zipStream.SetLevel(6); // 压缩级别 0-9CreateZipFiles(sourceFilePath, zipStream, sourceFilePath);zipStream.Finish();zipStream.Close();}/// summary/// 递归压缩文件/// /summary/// param namesourceFilePath待压缩的文件或文件夹路径/param/// param namezipStream打包结果的zip文件路径类似 D:/WorkSpace/a.zip,全路径包括文件名和.zip扩展名/param/// param namestaticFile/paramprivate static void CreateZipFiles(string sourceFilePath, ZipOutputStream zipStream, string staticFile){Crc32 crc new Crc32();string[] filesArray Directory.GetFileSystemEntries(sourceFilePath);foreach (string file in filesArray){if (Directory.Exists(file)) //如果当前是文件夹递归{CreateZipFiles(file, zipStream, staticFile);}else //如果是文件开始压缩{FileStream fileStream File.OpenRead(file);byte[] buffer new byte[fileStream.Length];fileStream.Read(buffer, 0, buffer.Length);string tempFile file.Substring(staticFile.LastIndexOf(//) 1);ZipEntry entry new ZipEntry(tempFile);entry.DateTime DateTime.Now;entry.Size fileStream.Length;fileStream.Close();crc.Reset();crc.Update(buffer);entry.Crc crc.Value;zipStream.PutNextEntry(entry);zipStream.Write(buffer, 0, buffer.Length);}}}}}
原文地址http://www.dotnetbbs.com/read.php?tid-59.html