`

C#压缩文件

C# 
阅读更多

【【【【C#压缩文件】】】】
方法1:
    //【filepath想要压缩文件的地址】
    //【zippath输出压缩文件的地址】
    private void GetFileToZip(string filepath,string zippath)
    {

        FileStream fs = File.OpenRead(filepath);
            byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 0, buffer.Length);
            fs.Close();

            FileStream ZipFile = File.Create(zippath);
            ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
            ZipEntry ZipEntry = new ZipEntry(输出的文件名称);
            ZipStream.PutNextEntry(ZipEntry);
            ZipStream.SetLevel(6);

            ZipStream.Write(buffer, 0, buffer.Length);
            ZipStream.Finish();
            ZipStream.Close();
    }
方法2:
     private void FileToZip(string path,string address)
        {
            string name = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\")+1);
            FileStream StreamToZip = new FileStream(path, FileMode.Open, FileAccess.Read);
            FileStream ZipFile = File.Create(address);
            ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
            //压缩文件
            ZipEntry ZipEntry = new ZipEntry(name);
            ZipStream.PutNextEntry(ZipEntry);
            ZipStream.SetLevel(6);                                      
            byte[] buffer = new byte[StreamToZip.Length];
            StreamToZip.Read(buffer, 0, Convert.ToInt32(StreamToZip.Length));
            ZipStream.Write(buffer, 0, Convert.ToInt32(StreamToZip.Length));
            ZipStream.Finish();
            ZipStream.Close();
            StreamToZip.Close();

        }
【【【【【【C#解压文件】】】】】】
    private void ZipToFile(string path, string addres)
        {
            ZipInputStream s = new ZipInputStream(File.OpenRead(path));
            ZipEntry fileEntry;
            while ((fileEntry = s.GetNextEntry()) != null)
            {
                string filename = Path.GetFileName(fileEntry.Name);
                if (filename != "")
                {
                    filename = addres + "\\" + filename;
                    FileStream streamWriter = File.Create(filename);
                    int size = 2048;
                    byte[] buffer = new byte[s.length];

                    size = s.Read(buffer, 0, size);
                    streamWriter.Write(buffer, 0, size);
                    streamWriter.Close();                  
                }
            }
            s.Close();
        }
【【【【【【C#压缩目录】】】】】】
方法1:
    //【arg[0]要压缩的目录】
    //【arg[1]输出的压缩文件】
       private void DirectoryToZip(string path, string address)
           {
                //获取当前文件夹中所有的文件
                string[] filenames = Directory.GetFiles(path); 
                Crc32 crc = new Crc32();
                //创建输出文件(ZIP格式的文件)
                ZipOutputStream zos = new ZipOutputStream(File.Create(address));
                zos.SetLevel(6);
                //遍历所有的文件
                foreach (string name in filenames)
                {
                    FileStream fs = File.OpenRead(name);
                    byte[] buffer = new byte[fs.Length];
                   //读取文件
                    fs.Read(buffer, 0, Convert.ToInt32(fs.Length));
                    //获取文件的文件名称和后缀名
                    string file = Path.GetFileName(name);
                    //输出文件的名称
                    ZipEntry entry = new ZipEntry(file);               
                    crc.Reset();
                    crc.Update(buffer);
                    entry.Crc = crc.Value;
                    zos.PutNextEntry(entry);
                    zos.Write(buffer, 0, Convert.ToInt32(fs.Length));
                    fs.Close();
                }
                zos.Finish();
                zos.Close();
             }



【【【【【【【【C#读取压缩文件(将压缩文件转换为二进制)】】】】】】】】
    private void GetZipToByte(){
        string path = @"C:\Documents and Settings\Administrator\桌面\文件.rar";
            FileStream fs = new FileStream(path, FileMode.Open);
            bytes = new byte[fs.Length];
            int count = Convert.ToInt32(fs.Length);
            fs.Read(bytes, 0, count);
    }
【【【【【【【【C#将二进制转换为压缩文件】】】】】】】】
    private void GetByteToZip()
    {
        string path = @"F:\dom.rar";//压缩文件的地址
        File.WriteAllBytes(path, bytes);
    }

分享到:
评论

相关推荐

    C#压缩解压缩支持大文件

    本文将深入探讨如何使用C#进行大文件的GZip压缩与解压缩。 ### GZip压缩 GZip是一种广泛使用的数据压缩格式,它基于Deflate算法。在C#中,我们主要使用`GZipStream`类来进行GZip压缩。`GZipStream`是继承自`Stream...

    C#压缩文件(多文件)

    在C#编程环境中,压缩文件是一项常见的任务,尤其在数据传输和存储中。本文将深入探讨如何使用C#来压缩单个文件以及多个文件,并基于VS2010的WinForm界面实现这一功能。 首先,我们需要引入System.IO.Compression...

    C#压缩和解压缩文件

    本程序完全用C#编写,实现了解压缩、压缩单个文件、压缩文件夹功能

    C#压缩文件,值得拥有

    本篇文章将深入探讨如何利用.NET语言开发的第三方插件来实现这一目标,同时提供一个简单的C#压缩文件的DEMO,以便开发者能够快速上手。 首先,我们要了解.NET中的压缩技术。.NET Framework提供了System.IO....

    C# 压缩解压文件

    首先,让我们来看看如何压缩文件。使用ZipArchive类,我们可以创建一个新的ZIP文件,并将一个或多个文件添加到其中。以下是一个简单的示例: ```csharp using System.IO; using System.IO.Compression; public ...

    利用C#压缩文件,简单明了,复制可用

    标题提到的“利用C#压缩文件,简单明了,复制可用”意味着我们将探讨一个简洁且可以直接应用的C#代码片段,用于压缩单个或多个文件。 在C#中,最常用的库之一是System.IO.Compression命名空间下的ZipArchive类。这...

    详解C#压缩、解压文件夹/文件(带密码)

    这里是一个使用SharpCompress压缩文件的基本示例: ```csharp public static void CompressWithSharpCompress(string sourcePath, string zipPath, string password) { using (var writer = WriterFactory.Open...

    c# 压缩和解压缩自己写的一个例子源代码

    在C#编程中,压缩和解压缩文件是常见的任务,特别是在处理大量数据或者优化存储空间时。本示例提供了一种不依赖于SharpZipLib库或.NET Framework自带的压缩和解压缩方法,而是基于一位国外开发者提供的算法进行改编...

    C#压缩文件引用包

    C#压缩文件引用包 ICSharpCode.SharpZipLib

    C#处理压缩文件代码

    在C#编程环境中,处理压缩文件是常见的任务之一,尤其是当你需要打包或解压数据时。ZIP格式是一种广泛使用的压缩格式,它允许我们将多个文件压缩到一个单一的ZIP档案中,以便于存储、传输和分享。本文将深入探讨如何...

    C#压缩文件源码

    在C#中压缩文件的基本步骤如下: 1. **创建ZipArchive对象**:使用`ZipFile.CreateFromDirectory()`方法创建一个新的ZipArchive对象,这个方法接受源文件夹路径和目标压缩文件路径作为参数。 2. **添加文件**:如果...

    C# 对文件夹进行压缩和下载

    3. **C#压缩文件夹**: 要压缩一个文件夹,首先获取该文件夹的所有文件和子文件夹,然后对每个文件创建`ZipArchiveEntry`,设置其名称(相对于压缩文件的路径),并用文件内容填充。代码示例如下: ```csharp ...

    C#-文件压缩操作类

    C#-文件压缩操作类(指定文件压缩、指定多文件压缩、压缩包解压)

    C#压缩文件和文件夹

    此方法同样接收两个参数:`path`为待压缩文件的完整路径,`address`为压缩后ZIP文件的存储位置。该方法的功能与上一种方法类似,但更加注重实际应用,如在用户选择文件后进行压缩操作。 ### 三、C#代码实现文件解...

    C# 压缩文件

    ICSharpCode.SharpZipLib是一个完全用C#编写的、无依赖的压缩库,提供了对ZIP、GZIP、BZip2等格式的支持。它允许开发者进行文件和流的压缩与解压缩操作,具有高度灵活性和定制性。 3. **使用ICSharpCode....

    C# 文件压缩-指定文件压缩

    在C#编程环境中,文件压缩是一项常见的任务,特别是在数据存储、传输或备份时。本教程将深入探讨如何使用C#来实现对特定文件的压缩。我们将主要关注`System.IO.Compression`命名空间中的ZipArchive类,它是.NET ...

    C#压缩文件夹(所有文件及文件夹)

    对文件夹下的所有子目录及所有文件进行压缩和解压,需在一起使用,有需要的可以下载下

    c# 文件压缩

    在C#编程环境中,文件压缩是一项常见的任务,用于节省存储空间和提高数据传输效率。本教程将深入探讨如何使用C#实现文件和文件夹的压缩与解压缩功能,包括单个文件、多个文件以及整个文件夹的操作。我们将利用...

Global site tag (gtag.js) - Google Analytics