最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)文件壓縮與解壓功能的示例代碼

 更新時間:2023年05月19日 08:45:54   作者:叫我少年  
這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)文件壓縮與解壓功能,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以參考一下

壓縮

private void skinButton1_Click(object sender, EventArgs e)
        {
            FilesUploadFor.ZipDirectory(foldertozip.Text,zipedfilename.Text);
            filesUploadFor.DisplaylistboxMsg("壓縮完成");
        }

ZipDirectory

壓縮用的是庫函數(shù)

       /// <summary>
       /// 壓縮文件夾
       /// </summary>
       /// <param name="folderToZip">需要壓縮的文件夾</param>
       /// <param name="zipedFileName">壓縮后的Zip完整文件名</param>
        public static void ZipDirectory(string folderToZip, string zipedFileName)
        {
            ZipDirectory(folderToZip, zipedFileName, string.Empty, true, string.Empty, string.Empty, true);
        }
 
        /// <summary>
        /// 壓縮文件夾
        /// </summary>
        /// <param name="folderToZip">需要壓縮的文件夾</param>
        /// <param name="zipedFileName">壓縮后的Zip完整文件名(如D:\test.zip)</param>
        /// <param name="isRecurse">如果文件夾下有子文件夾,是否遞歸壓縮</param>
        /// <param name="password">解壓時需要提供的密碼</param>
        /// <param name="fileRegexFilter">文件過濾正則表達式</param>
        /// <param name="directoryRegexFilter">文件夾過濾正則表達式</param>
        /// <param name="isCreateEmptyDirectories">是否壓縮文件中的空文件夾</param>
 
        public static void ZipDirectory(string folderToZip, string zipedFileName, string password, bool isRecurse, string fileRegexFilter, string directoryRegexFilter, bool isCreateEmptyDirectories)
        {
            FastZip fastZip = new FastZip();
            fastZip.CreateEmptyDirectories = isCreateEmptyDirectories;
            fastZip.Password = password;
            fastZip.CreateZip(zipedFileName, folderToZip, isRecurse, fileRegexFilter, directoryRegexFilter);
        }

解壓縮

  private void skinButton2_Click(object sender, EventArgs e)
        {
            filesUploadFor.UnZip(zipedfilename.Text,"");
             filesUploadFor.DisplaylistboxMsg("解壓縮完成");
        }

UnZip

解壓用的是庫函數(shù)

        /// <summary>  
        /// 功能:解壓zip格式的文件。  
        /// </summary>  
        /// <param name="zipFilePath">壓縮文件路徑</param>  
        /// <param name="unZipDir">解壓文件存放路徑,為空時默認與壓縮文件同一級目錄下,跟壓縮文件同名的文件夾</param>  
        /// <returns>解壓是否成功</returns>  
        public void UnZip(string zipFilePath, string unZipDir)
        {
            if (zipFilePath == string.Empty)
            {
                throw new Exception("壓縮文件不能為空!");
            }
            if (!File.Exists(zipFilePath))
            {
                throw new FileNotFoundException("壓縮文件不存在!");
            }
            //解壓文件夾為空時默認與壓縮文件同一級目錄下,跟壓縮文件同名的文件夾  
            if (unZipDir == string.Empty)
                unZipDir = zipFilePath.Replace(Path.GetFileName(zipFilePath), Path.GetFileNameWithoutExtension(zipFilePath));
            if (!unZipDir.EndsWith("/"))
                unZipDir += "/";
            if (!Directory.Exists(unZipDir))
                Directory.CreateDirectory(unZipDir);
 
            using (var s = new ZipInputStream(File.OpenRead(zipFilePath)))
            {
 
                ZipEntry theEntry;
                while ((theEntry = s.GetNextEntry()) != null)
                {
                    string directoryName = Path.GetDirectoryName(theEntry.Name);
                    string fileName = Path.GetFileName(theEntry.Name);
                    if (!string.IsNullOrEmpty(directoryName))
                    {
                        Directory.CreateDirectory(unZipDir + directoryName);
                    }
                    if (directoryName != null && !directoryName.EndsWith("/"))
                    {
                    }
                    if (fileName != String.Empty)
                    {
                        using (FileStream streamWriter = File.Create(unZipDir + theEntry.Name))
                        {
 
                            int size;
                            byte[] data = new byte[2048];
                            while (true)
                            {
                                size = s.Read(data, 0, data.Length);
                                if (size > 0)
                                {
                                    streamWriter.Write(data, 0, size);
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }

到此這篇關于C#實現(xiàn)文件壓縮與解壓功能的示例代碼的文章就介紹到這了,更多相關C#文件壓縮與解壓縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 分享WCF聊天程序--WCFChat實現(xiàn)代碼

    分享WCF聊天程序--WCFChat實現(xiàn)代碼

    無意中在一個國外的站點下到了一個利用WCF實現(xiàn)聊天的程序,作者是:Nikola Paljetak。研究了一下,自己做了測試和部分修改,感覺還不錯,分享給大家
    2015-11-11
  • C#實現(xiàn)藍牙連接、數(shù)據(jù)收發(fā)與文件傳輸功能

    C#實現(xiàn)藍牙連接、數(shù)據(jù)收發(fā)與文件傳輸功能

    在軟件開發(fā)中,跨設備通信已經(jīng)成為一種常見需求,尤其是在工業(yè)控制、智能家居、醫(yī)療設備等領域,藍牙通信因其低功耗、短距離、高安全性等優(yōu)點,被廣泛應用于各類桌面和移動應用中,本文將詳細介紹C#如何實現(xiàn)藍牙連接、數(shù)據(jù)收發(fā)與文件傳輸功能,需要的朋友可以參考下
    2025-05-05
  • C# WinForm窗體編程中處理數(shù)字的正確操作方法

    C# WinForm窗體編程中處理數(shù)字的正確操作方法

    這篇文章主要介紹了C# WinForm窗體編程中處理數(shù)字的正確操作方法,本文給出了正確示例,并解釋了為什么要這么做,需要的朋友可以參考下
    2014-08-08
  • C# OpenFileDialog對話框控件的使用

    C# OpenFileDialog對話框控件的使用

    OpenFileDialog是C#中常用的對話框控件,用于讓用戶選擇文件,本文就來介紹一下OpenFileDialog對話框控件的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • WPF自定義控件的實現(xiàn)

    WPF自定義控件的實現(xiàn)

    本文主要介紹了WPF自定義控件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 在C# WinForm應用中實現(xiàn)多語種切換功能

    在C# WinForm應用中實現(xiàn)多語種切換功能

    本文將介紹如何在一個WinForm應用程序中實現(xiàn)多語種切換,通過一個簡單的示例,你將了解到如何使用資源文件管理不同語言的文本,并通過用戶界面實現(xiàn)語言切換,需要的朋友可以參考下
    2024-06-06
  • C#實現(xiàn)飛行棋項目

    C#實現(xiàn)飛行棋項目

    這篇文章主要為大家詳細介紹了C#實現(xiàn)飛行棋項目,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C#無限欄目分級程序代碼分享 好東西

    C#無限欄目分級程序代碼分享 好東西

    C#無限欄目分級程序代碼分享 好東西...
    2006-12-12
  • C#操作串口通信協(xié)議Modbus的常用方法介紹

    C#操作串口通信協(xié)議Modbus的常用方法介紹

    這篇文章介紹了C#操作串口通信協(xié)議Modbus的常用方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • WPF+WriteableBitmap實現(xiàn)高性能曲線圖的繪制

    WPF+WriteableBitmap實現(xiàn)高性能曲線圖的繪制

    這篇文章主要為大家詳細介紹了如何利用WPF+WriteableBitmap實現(xiàn)高性能曲線圖的繪制,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-08-08

最新評論

韩城市| 临城县| 德安县| 丹东市| 玉龙| 潞城市| 辉县市| 平潭县| 乡宁县| 辉县市| 昭通市| 喜德县| 焦作市| 弋阳县| 江华| 澄迈县| 泸州市| 兴文县| 景洪市| 成武县| 中山市| 平阳县| 锡林浩特市| 桐梓县| 五家渠市| 青阳县| 平和县| 宜兴市| 望奎县| 陇西县| 福海县| 莫力| 沧源| 黑水县| 吐鲁番市| 桃源县| 论坛| 新乡县| 闽清县| 曲阳县| 榆社县|