当前位置: 首页 > news >正文

工会网站建设方案冬季黄山旅游攻略

工会网站建设方案,冬季黄山旅游攻略,网站后台认证码,想开广告图文店在哪学.NET C# 将文件夹压缩至 zip 文章目录 .NET C# 将文件夹压缩至 zip1 使用 System.IO.Compression1.1 环境1.2 压缩文件夹1.2.1 简单压缩1.2.2 复杂压缩 1.3 解压缩1.3.1 简单解压缩1.3.2 复杂解压缩 2 使用 SharpZipLib2.1 环境2.2 压缩文件夹2.3 解压缩 3 压缩效果简单测试 1 ….NET C# 将文件夹压缩至 zip 文章目录 .NET C# 将文件夹压缩至 zip1 使用 System.IO.Compression1.1 环境1.2 压缩文件夹1.2.1 简单压缩1.2.2 复杂压缩 1.3 解压缩1.3.1 简单解压缩1.3.2 复杂解压缩 2 使用 SharpZipLib2.1 环境2.2 压缩文件夹2.3 解压缩 3 压缩效果简单测试 1 使用 System.IO.Compression 1.1 环境 .NET 6 1.2 压缩文件夹 1.2.1 简单压缩 using System.IO.Compression;string sourceDirectory C:\path\to\your\folder; // 需要压缩的文件夹路径 string destinationZipFilePath C:\path\to\your\output.zip; // 生成的zip文件路径 // 压缩文件夹 ZipFile.CreateFromDirectory(sourceDirectory, destinationZipFilePath);注意事项 请确保路径正确并且具有对该路径的读写权限。如果目标zip文件已存在该方法将覆盖该文件。如果你想避免覆盖可以在压缩前检查文件是否存在并进行相应处理。 1.2.2 复杂压缩 如果你需要更复杂的压缩选项比如排除某些文件或文件夹可以使用ZipArchive类来进行更细粒度的控制。 using System.IO.Compression;string sourceDirectory C:\path\to\your\folder; string destinationZipFilePath C:\path\to\your\output.zip;using (FileStream zipToOpen new FileStream(destinationZipFilePath, FileMode.Create)) {using (ZipArchive archive new ZipArchive(zipToOpen, ZipArchiveMode.Create)){DirectoryInfo directorySelected new DirectoryInfo(sourceDirectory);foreach (FileInfo fileToCompress in directorySelected.GetFiles()){// 过滤特定文件例如排除所有.txt文件if (fileToCompress.Extension .txt)continue;archive.CreateEntryFromFile(fileToCompress.FullName, fileToCompress.Name);}} }1.3 解压缩 1.3.1 简单解压缩 using System.IO.Compression;string sourceZipFilePath C:\path\to\your\archive.zip; // 需要解压缩的zip文件路径 string destinationDirectory C:\path\to\your\output\folder; // 解压缩到的目标文件夹路径 // 解压缩zip文件 ZipFile.ExtractToDirectory(sourceZipFilePath, destinationDirectory);注意事项 请确保路径正确并且具有对该路径的读写权限。如果目标文件夹已存在且包含与zip文件中相同名称的文件该方法将抛出异常。如果你想避免此问题可以在解压缩前检查文件夹是否存在并进行相应处理。 1.3.2 复杂解压缩 using System.IO.Compression;string sourceZipFilePath C:\path\to\your\archive.zip; string destinationDirectory C:\path\to\your\output\folder;using (ZipArchive archive ZipFile.OpenRead(sourceZipFilePath)) {foreach (ZipArchiveEntry entry in archive.Entries){// 解压缩所有文件到目标文件夹string destinationPath Path.Combine(destinationDirectory, entry.FullName);// 如果条目是目录则创建目录if (entry.Name ){Directory.CreateDirectory(destinationPath);}else{// 创建包含该条目的目录Directory.CreateDirectory(Path.GetDirectoryName(destinationPath));// 解压缩文件entry.ExtractToFile(destinationPath, overwrite: true);}} }2 使用 SharpZipLib 2.1 环境 .NET 6SharpZipLib 1.4.2 2.2 压缩文件夹 using System; using System.IO; using ICSharpCode.SharpZipLib.Zip;class Program {static void Main(){string sourceDirectory C:\path\to\your\folder; // 需要压缩的文件夹路径string destinationZipFilePath C:\path\to\your\output.zip; // 生成的zip文件路径// 压缩文件夹CompressFolder(sourceDirectory, destinationZipFilePath);Console.WriteLine(文件夹已成功压缩到 destinationZipFilePath);}static void CompressFolder(string sourceDir, string zipFilePath){// 创建目标zip文件using (FileStream fsOut File.Create(zipFilePath))using (ZipOutputStream zipStream new ZipOutputStream(fsOut)){zipStream.SetLevel(3); // 设置压缩级别0-9// 遍历源文件夹中的所有文件和目录int folderOffset sourceDir.Length (sourceDir.EndsWith(\\) ? 0 : 1);CompressDirectory(sourceDir, zipStream, folderOffset);}}static void CompressDirectory(string path, ZipOutputStream zipStream, int folderOffset){string[] files Directory.GetFiles(path);foreach (string filename in files){FileInfo fi new FileInfo(filename);string entryName filename.Substring(folderOffset); // 创建条目名entryName ZipEntry.CleanName(entryName); // 清理名称ZipEntry newEntry new ZipEntry(entryName);newEntry.DateTime fi.LastWriteTime; // 设置条目的日期时间newEntry.Size fi.Length; // 设置条目的大小zipStream.PutNextEntry(newEntry);// 写入文件内容byte[] buffer new byte[4096];using (FileStream streamReader File.OpenRead(filename)){StreamUtils.Copy(streamReader, zipStream, buffer);}zipStream.CloseEntry();}// 递归处理目录string[] folders Directory.GetDirectories(path);foreach (string folder in folders){CompressDirectory(folder, zipStream, folderOffset);}} }2.3 解压缩 using System; using System.IO; using ICSharpCode.SharpZipLib.Core; using ICSharpCode.SharpZipLib.Zip;class Program {static void Main(){string sourceZipFilePath C:\path\to\your\archive.zip; // 需要解压缩的zip文件路径string destinationDirectory C:\path\to\your\output\folder; // 解压缩到的目标文件夹路径// 解压缩zip文件ExtractZipFile(sourceZipFilePath, destinationDirectory);Console.WriteLine(文件已成功解压缩到 destinationDirectory);}static void ExtractZipFile(string archiveFilenameIn, string outFolder){ZipFile zf null;try{FileStream fs File.OpenRead(archiveFilenameIn);zf new ZipFile(fs);foreach (ZipEntry zipEntry in zf){if (!zipEntry.IsFile){continue; // 忽略目录条目}string entryFileName zipEntry.Name;string fullZipToPath Path.Combine(outFolder, entryFileName);string directoryName Path.GetDirectoryName(fullZipToPath);// 创建目录if (directoryName.Length 0){Directory.CreateDirectory(directoryName);}byte[] buffer new byte[4096]; // 4K是推荐的缓冲区大小// 解压缩文件using (Stream zipStream zf.GetInputStream(zipEntry))using (FileStream streamWriter File.Create(fullZipToPath)){StreamUtils.Copy(zipStream, streamWriter, buffer);}}}finally{if (zf ! null){zf.IsStreamOwner true; // 使ZipFile也关闭文件流zf.Close();}}} }3 压缩效果简单测试 组件压缩等级耗时ms结果数据大小KBSystem.IO.Compression1242333601975358953543769137136351221SharpZipLibNoCompression8561046400Fastest11571373848Optimal18642353490SmallestSize85536351208
http://www.tj-hxxt.cn/news/226767.html

相关文章:

  • 试剂产品商城网站建设appcan wordpress
  • 海口模板建站平台wordpress前端页面模板
  • 如何做产品展示网站wordpress 如何登录
  • 省直部门门户网站建设域名注册信息查询whois
  • 桐城市做网站上海公司查名一网通
  • 网站建设要学什么WordPress上传ssl证书
  • 企业网站html源代码微信公众号模板哪里找
  • 比较好的设计欣赏网站ipv6域名解析 做网站
  • 做铝板的网站核心关键词和长尾关键词
  • 找工作哪个网站好智联招聘网站有服务器怎么备案
  • 网站开发组织架构图开发平台搭建
  • 站酷网官网下载网站设计的评估
  • 北京网站设计培训机构网站批量查询工具
  • 无为县住房建设局网站wordpress版微信小程序
  • 昆明建设局网站号码cm域名网站
  • 网站模板编辑微信公众平台小程序二维码怎么生成
  • 网站设计要学哪些大数据比较好的培训机构
  • 柳州网站建设价格dx网站是哪家公司做的
  • 手机网站规划福田庆三整过的明星
  • 网站代码框架做网站设计的论文中摘要怎么写
  • 宁国网站开发网站建设公司广告标题语
  • 毕业设计做网站老师会问什么网站开发人才需求
  • 国外购物网站建设黄骅市医院
  • 网站 规划乌市正规网站建设
  • 做博客网站怎么赚钱吗网页设计代码大全div
  • 建筑建设行业网站无锡网站建设报价明细表
  • 自己做网站投放有流量么代理公司注册哪家好
  • 揭阳网站建设antnw谷歌代运营
  • 外包公司做的网站怎么改密码wordpress怎么修改登录界面
  • 济宁网站建设找哪家网站品牌词优化怎么做