C#內存壓縮zip文件


C#中我們使用比較多的文件壓縮第三方DLL就是Ionic.Utils.Zip.dll。但是這個DLL只支持對現有文件進行壓縮,而不支持內存壓縮,如果需要使用內存壓縮,那么有第三方DLL ICSharpCode.SharpZipLib.dll。

下面把例子粘出來:

using ICSharpCode.SharpZipLib.BZip2;
using ICSharpCode.SharpZipLib.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var data = Encoding.Default.GetBytes("Hello world");

            using (System.IO.FileStream ZipFile = System.IO.File.Create("d:\\abc.zip"))
            {
                using (ZipOutputStream ZipStream = new ZipOutputStream(ZipFile))
                {
                    //文件1
                    ZipEntry entry1 = new ZipEntry("地址.txt");
                    ZipStream.PutNextEntry(entry1);
                    ZipStream.Write(data, 0, data.Length);

                    //文件2
                    ZipEntry entry2 = new ZipEntry("名稱\\地址2.txt");//名稱表示文件夾
                    ZipStream.PutNextEntry(entry2);
                    ZipStream.Write(data, 0, data.Length);
                }
                ZipFile.Close();
            }

            Console.WriteLine("success");
            Console.ReadLine();
        }
    }
}

壓縮后的目錄結構如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM