zoukankan      html  css  js  c++  java
  • C# Note17: 使用Ionic.Zip.dll实现解压缩文件

    首先下载ionic.Zip.dll,然后在项目中添加该引用,之后就可以在cs中使用了:

            using Ionic.Zip;  
       
          #region Ionic.Zip压缩文件
            private readonly string zipFileName = "testzip";
            private readonly string destinationPath;
            private readonly string destinationPathPrefix = "E:\";
    
            //压缩方法一
            public void ExeCompressOne()
            {
                string timeStamp = DateTime.Now.ToString("yyMMddHHmmssff");
                destinationPath = destinationPathPrefix + zipFileName + timeStamp;
                string destinationFilePath = destinationPath + ".zip";
    
                //ZipFile实例化一个压缩文件保存路径的一个对象zip
                using (ZipFile zip = new ZipFile(destinationFilePath, Encoding.Default))
                {
                    //压缩率
                    zipFile.CompressionLevel = CompressionLevel.Level9;
                    zipFile.UseZip64WhenSaving = Zip64Option.Never;
                    //加密压缩
                    zip.Password = "123456";
                    //将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称)
                    zip.AddDirectory(destinationPath);
                    //将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept
                    //zip.AddFile(@"E:\yangfeizai\12051214544443\"+"Jayzai.xml");
                    zip.Save();
                }
            }
            
            //压缩方法二
            public void ExeCompressTwo()
            {
                string timeStamp = DateTime.Now.ToString("yyMMddHHmmssff");
                destinationPath = destinationPathPrefix + zipFileName + timeStamp;
                string destinationFilePath = destinationPath + ".zip";     
    
                //ZipFile实例化一个对象zip
                using (ZipFile zip = new ZipFile())
                {
                    //压缩率
                    zipFile.CompressionLevel = CompressionLevel.Level9;
                    zipFile.UseZip64WhenSaving = Zip64Option.Never;
                    //加密压缩
                    zip.Password = "123456";
                    //将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称)
                    zip.AddDirectory(destinationPath);
                    //将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept
                    //zip.AddFile(@"E:\yangfeizai\12051214544443\"+"Jayzai.xml");
                    //用zip对象中Save重载方法保存压缩的文件,参数为保存压缩文件的路径
                    zip.Save(destinationFilePath);
                }
            }
            #endregion
     
            #region 删除压缩包中的文件
            //从zip文件中删除一个文件,注意无法直接删除一个文件夹
            public void ExeDelete(string FileName)
            {
                using (ZipFile zip = ZipFile.Read(destinationFilePath))
                {
                    //zip["test1.xml"] = null;
                    //删除zip对象中的一个文件,假设存在文件为test1.xml
                    zip.RemoveEntry("test1.xml");
                    zip.Save();
                }
            }
            #endregion
    
            #region 压缩完成后删除临时文件
            var d = new DirectoryInfo(destinationPath);
            d.Delete(true);
            #endregion
    

      

      

    PS:C#如何以管理员身份运行程序

    【 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误。】

     在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找到“安全性”选项,勾选“启用ClickOnce安全设置”,这时,在项目下面会多出一个“app.manifest”的文件,选中它,并找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,然后再次打开“属性--安全性”界面,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。

  • 相关阅读:
    洛谷 P2008 大朋友的数字
    [USACO10FEB]慢下来Slowing down
    HAOI2007 理想的正方形 单调队列
    滑动窗口
    双栈排序
    概率无向图模型与条件随机场的异同
    P-R曲线出现凹陷的原因
    MaskLab-实例分割(使用语义分割和方向特征精细化目标检测)
    模拟递归生成器
    递归生成器
  • 原文地址:https://www.cnblogs.com/carsonzhu/p/7305829.html
Copyright © 2011-2022 走看看