解压缩文件

需要通过引用ICSharpCode.SharpZipLib.Zip(程序包里面下载安装),来实现文件的压缩与解压
 
/// <summary>
        /// 实例化FastZip
        /// </summary>
        public static FastZip fz = new FastZip();
 
/// <summary>
        /// 压缩文件
        /// </summary>
        /// <param name="zipFilePath">压缩文件的路径与名称</param>
        /// <param name="FilePath">被压缩的文件路径</param>
        /// <param name="ZipPWD">解压密码(null代表无密码)</param>
        /// <returns></returns>
        public static string FileToZip(string zipFilePath, string FilePath, string ZipPWD)
        {
            string state = "Fail...";
            try
            {
                FileInfo fi = new FileInfo(FilePath);
                string filename = fi.Name;
                string dirname = fi.DirectoryName;
                fz.Password = ZipPWD;
                fz.CreateZip(zipFilePath, dirname, false, filename);
                state = "Success !";
            }
            catch(Exception ex)
            {
                state += "," + ex.Message;
            }
            return state;
        }
 
/// <summary>
        /// 压缩文件夹
        /// </summary>
        /// <param name="DirPath">被压缩的文件夹路径</param>
        /// <param name="ZipPath">压缩文件夹的路径与名称</param>
        /// <param name="ZipPWD">解压密码(null代表无密码)</param>
        /// <returns></returns>
        public static string DirToZip(string DirPath, string ZipPath, string ZipPWD)
        {
            string state = "Fail...";
            try
            {
                fz.Password = ZipPWD;
                fz.CreateZip(ZipPath, DirPath, false, null);
                state = "Success !";
            }
            catch (Exception ex)
            {
                state += "," + ex.Message;
            }
            return state;
        }
 
/// <summary>
        /// 解压Zip
        /// </summary>
        /// <param name="DirPath">解压后存放路径</param>
        /// <param name="ZipPath">Zip的存放路径</param>
        /// <param name="ZipPWD">解压密码(null代表无密码)</param>
        /// <returns></returns>
        public static string Compress(string DirPath, string ZipPath, string ZipPWD)
        {
            string state = "Fail...";
            try
            {
                fz.Password = ZipPWD;
                fz.ExtractZip(ZipPath, DirPath, null);
                state = "Success !";
            }
            catch (Exception ex)
            {
                state += "," + ex.Message;
            }
            return state;
        }
 

 

posted @ 2019-06-03 20:26  厦门哈韩  阅读(173)  评论(0编辑  收藏  举报