国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c#解壓文件的實(shí)例方法

2020-01-24 03:23:02
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

#region 解壓 文件 zip 格式 rar 格式
        /// <summary>
        ///解壓文件
        /// </summary>
        /// <param name="fileFromUnZip">解壓前的文件路徑(絕對路徑)</param>
        /// <param name="fileToUnZip">解壓后的文件目錄(絕對路徑)</param>
        public static void UnpackFile(string fileFromUnZip, string fileToUnZip)
        {
            //獲取壓縮類型
            string unType = fileFromUnZip.Substring(fileFromUnZip.LastIndexOf(".") + 1, 3).ToLower();
            switch (unType)
            {
                case "rar":
                    UnRar(fileFromUnZip, fileToUnZip);
                    break;
                case "zip":
                    UnZip(fileFromUnZip, fileToUnZip);
                    break;
            }
        }
        //解壓rar格式的文件
        private static void UnRar(string fileFromUnZip, string fileToUnZip)
        {
            using (Process Process1 = new Process())// 開啟一個進(jìn)程 執(zhí)行解壓工作
            {
          string ServerDir = ConfigurationManager.AppSettings["UnpackFile"].ToString();//rar工具的安裝路徑   必須要安裝 WinRAR     //例于:C:/Program Files (x86)/WinRAR/RAR.exe
                Process1.StartInfo.UseShellExecute = false;
                Process1.StartInfo.RedirectStandardInput = true;
                Process1.StartInfo.RedirectStandardOutput = true;
                Process1.StartInfo.RedirectStandardError = true;
                Process1.StartInfo.CreateNoWindow = true;
                Process1.StartInfo.FileName = ServerDir;
                Process1.StartInfo.Arguments = " x -inul -y " + fileFromUnZip + " " + fileToUnZip;
                Process1.Start();//解壓開始 
                Process1.WaitForExit();
                Process1.Close();
            }
        }
        // 解壓zip 文件
        public static void UnZip(string fileFromUnZip, string fileToUnZip)
        {
            ZipInputStream inputStream = new ZipInputStream(File.OpenRead(fileFromUnZip));
            ZipEntry theEntry;
            while ((theEntry = inputStream.GetNextEntry()) != null)
            {
                fileToUnZip += "/";
                string fileName = Path.GetFileName(theEntry.Name);
                string path = Path.GetDirectoryName(fileToUnZip) + "/";
                // Directory.CreateDirectory(path);//生成解壓目錄
                if (fileName != String.Empty)
                {
                    FileStream streamWriter = File.Create(path + fileName);//解壓文件到指定的目錄
                    int size = 2048;
                    byte[] data = new byte[2048];
                    while (true)
                    {
                        size = inputStream.Read(data, 0, data.Length);
                        if (size > 0)
                        {
                            streamWriter.Write(data, 0, size);
                        }
                        else
                        {
                            break;
                        }
                    }
                    streamWriter.Close();
                }
            }
            inputStream.Close();
        }
        #endregion
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 石台县| 胶州市| 大余县| 扶沟县| 玉田县| 明溪县| 勃利县| 建瓯市| 铁力市| 南投县| 远安县| 吴忠市| 即墨市| 淮阳县| 涡阳县| 延吉市| 雷波县| 六盘水市| 麦盖提县| 金坛市| 灵丘县| 达尔| 喀什市| 五河县| 永春县| 化德县| 松桃| 凤翔县| 即墨市| 嘉义县| 定南县| 水城县| 永嘉县| 南昌市| 固镇县| 集安市| 香格里拉县| 阳山县| 黄山市| 茶陵县| 皮山县|