


















nuget安装SharpZipLib
/// <summary> /// 压缩zip并设置密码 /// </summary> /// <param name="sourceDir">要压缩的目录</param> /// <param name="zipFile">压缩后zip存放地址</param> /// <param name="password">密码</param> public static void CreateZipPwd(string sourceDir, string zipFile, string password) { if (File.Exists(zipFile)) File.Delete(zipFile); using (FileStream fs = new FileStream(zipFile, FileMode.Create)) using (ZipOutputStream zipOut = new ZipOutputStream(fs)) { zipOut.Password = password; zipOut.UseZip64 = UseZip64.On; zipOut.SetLevel(Deflater.DEFAULT_COMPRESSION); AddDirectoryToZip(zipOut, sourceDir, sourceDir); } } private static void AddDirectoryToZip(ZipOutputStream zipOut, string currentDir, string rootDir) { foreach (string file in Directory.GetFiles(currentDir)) { FileInfo fi = new FileInfo(file); string relPath = Path.GetRelativePath(rootDir, file).Replace("\\", "/"); ZipEntry entry = new ZipEntry(relPath); entry.DateTime = fi.LastWriteTime; entry.Size = fi.Length; zipOut.PutNextEntry(entry); using (FileStream fs = fi.OpenRead()) fs.CopyTo(zipOut); zipOut.CloseEntry(); } foreach (string dir in Directory.GetDirectories(currentDir)) AddDirectoryToZip(zipOut, dir, rootDir); }
demo
string sourceDir = "E:\\2026"; string zipFile = "E:\\2026-01.zip"; string password = "123456"; CreateZipPwd(sourceDir, zipFile, password);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。