`

用C#压缩单个txt文件的最简单方式是什么

阅读更多
/**//// <summary>
        /// 压缩文件
        /// </summary>
        /// <param name="FileToZip">要进行压缩的文件名</param>
        /// <param name="ZipedFile">压缩后生成的压缩文件名</param>
        /// <returns></returns>
        private static bool ZipFile(string FileToZip, string ZipedFile, String Password)
        {
            //如果文件没有找到,则报错
            if (!File.Exists(FileToZip))
            {
                throw new System.IO.FileNotFoundException("指定要压缩的文件: " + FileToZip + " 不存在!");
            }
            //FileStream fs = null;
            FileStream ZipFile = null;
            ZipOutputStream ZipStream = null;
            ZipEntry ZipEntry = null;

            bool res = true;
            try
            {
                ZipFile = File.OpenRead(FileToZip);
                byte[] buffer = new byte[ZipFile.Length];
                ZipFile.Read(buffer, 0, buffer.Length);
                ZipFile.Close();

                ZipFile = File.Create(ZipedFile);
                ZipStream = new ZipOutputStream(ZipFile);
                ZipStream.Password = Password;
                ZipEntry = new ZipEntry(Path.GetFileName(FileToZip));
                ZipStream.PutNextEntry(ZipEntry);
                ZipStream.SetLevel(6);

                ZipStream.Write(buffer, 0, buffer.Length);
            }
            catch
            {
               res = false;
            }
            finally
            {
                if (ZipEntry != null)
                {
                    ZipEntry = null;
                }
                if (ZipStream != null)
                {
                    ZipStream.Finish();
                    ZipStream.Close();
                }
                if (ZipFile != null)
                {
                    ZipFile.Close();
                    ZipFile = null;
                }
                GC.Collect();
                GC.Collect(1);
            }

            return res;
        }

        /**//// <summary>
        /// 压缩文件 和 文件夹
        /// </summary>
        /// <param name="FileToZip">待压缩的文件或文件夹,全路径格式</param>
        /// <param name="ZipedFile">压缩后生成的压缩文件名,全路径格式</param>
        /// <returns></returns>
        public static bool Zip(String FileToZip, String ZipedFile, String Password)
        {
            if (Directory.Exists(FileToZip))
            {
                return ZipFileDictory(FileToZip, ZipedFile, Password);
            }
            else if (File.Exists(FileToZip))
            {
                return ZipFile(FileToZip, ZipedFile, Password);
            }
            else
            {
                return false;
            }
        }
分享到:
评论

相关推荐

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

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

    C#压缩及解压文件夹

    对于压缩单个文件,你可以创建一个新的ZipArchive实例,然后手动创建ZipArchiveEntry并写入文件内容。下面是一个简化的例子: ```csharp public static void CompressSingleFile(string sourceFilePath, string ...

    在C#中调用Winrar实现文件压缩与解压源代码

    对于解压缩,流程大致相同,但需要使用`RarOpenArchiveEx`打开已有压缩文件,然后通过`RarGetHeader`获取文件头信息,再用`RarExtractFile`解压指定的文件或所有文件。 在编写源代码时,需要注意错误处理,因为...

    压缩文件或文件夹代码

    以下是一个简单的使用C#压缩文件的代码片段: ```csharp using ICSharpCode.SharpZipLib.Zip; using System.IO; public void CompressFile(string inputFile, string outputFile) { using (FileStream input = ...

    一个c#编写的简单的文件分割和文件合并的程序

    本项目提供了一个基于C#语言实现的简单文件分割和文件合并的程序,这对于我们管理和传输大文件非常有帮助。以下是这个程序的核心知识点及详细解释: 1. **C#语言基础**:C#是一种面向对象的编程语言,由微软开发,...

    c#获取文件属性

    // 获取单个压缩文件的属性 Console.WriteLine($"文件名: {entry.Name}"); Console.WriteLine($"大小: {entry.Length} 字节"); } } ``` 这个例子中,我们遍历了`ZipArchive`中的每个`ZipArchiveEntry`,它代表...

    C#教程 实现RLE压缩算法 C#简单源代码.zip

    C#作为微软开发的一种面向对象的编程语言,提供了丰富的功能和库来处理字符串和文件操作,使得实现RLE压缩算法变得相对容易。 首先,让我们理解RLE的基本原理。RLE通过查找连续出现的相同字符,并用该字符和它的...

    多个文件进行压缩生成压缩包

    GZip主要用于单个文件的压缩,但也可以通过管道(pipe)与其他命令如tar结合,以处理多文件打包和压缩。例如,在Linux或Unix中,我们可以先用tar命令打包多个文件,然后通过管道将结果传递给gzip命令进行压缩: ```...

    asp.net C#实现解压缩文件的方法

    一共给大家介绍了三段代码,一个是简单的解压缩单个zip文件,后一个可以解压批量的大量的但需要调用ICSharpCode.SharpZipLib.dll类了,最后一个比较实例可压缩也可以解压缩了分享给大家供大家参考。具体如下: 解...

    sharpcompress:SharpCompress是一个完全托管的C#库,可以处理多种压缩类型和格式

    SharpCompress是用于.NET Standard 2.0、2.1,.NET Core 3.1和.NET 5.0的纯C#压缩库,可以解压缩,解压缩,解压缩,解压缩,解压缩unbzip2,ungzip,unlzip,并且具有只读读取和文件随机访问API。 实现了对zip / ...

    c# 动态操作 zip 组件 ioniczip

    在.NET开发环境中,C#程序员有时需要处理ZIP文件,例如创建、修改、删除或提取文件。在这种情况下,第三方库如`Ionic.Zip`提供了强大的功能,使得这些操作变得简单易行。`Ionic.Zip`是一个免费的、开源的.NET库,...

    多个文件合并为一个文件并将文件拆分开来

    对于文本文件(如.txt),可以使用编程语言(如Python)或简单的文本编辑器来实现。例如,在Python中,可以通过读取每个文件并将其内容写入新的文件来完成合并。对于文档文件(如.docx或.pdf),则可以利用特定的...

    C#自定义字符串压缩和解压缩的方法

    GZIP通常用于文件和网络数据的压缩,但由于它是基于块的压缩,对于小规模的数据(如单个字符串),可能不会达到最佳的压缩效果。在实际应用中,如果需要处理大量数据或更高效的压缩,可以考虑使用其他压缩库,如Zlib...

    简易版log4C#

    【简易版log4C#】是一个专门为C#开发者设计的日志记录工具,它的核心目标是提供一个简单易用、功能实用的日志管理方案。在这个简易版本中,它着重于按月生成日志文件,便于开发者追踪和分析程序运行时的问题。这种...

    ZipCompressTest.rar

    4. **压缩单个文件**:在C#中,如果要压缩单个文件,可以使用`ZipFile.CreateFromDirectory`方法,但需要创建一个临时目录,将该文件复制到临时目录,然后压缩整个目录,最后删除临时目录。另一种方法是直接使用`Zip...

    C#2005文件IO与数据存取秘诀-第七章

    - 可以使用`File.Copy`和`File.Move`方法备份和移动文件,配合压缩库如`System.IO.Compression.GZipStream`实现文件的压缩备份。 - 数据库备份通常涉及数据库管理工具,如SQL Server Management Studio,或者使用...

    Ionic.Zip.zip

    《Unity中的C#压缩文件与文件夹:深入理解Ionic.Zip》 在Unity开发过程中,我们经常需要处理文件的压缩和解压操作,以优化资源管理、减小游戏包大小或者进行数据传输。本文将深入探讨使用C#库Ionic.Zip在Unity环境...

    C#开发的局域网聊天工具

    不过,由于只列出了一个文件,这意味着这个项目可能相对简单,或者源代码被压缩在单个文件内。 综上所述,这个C#开发的局域网聊天工具利用了C#的网络编程能力,通过局域网中的IP地址实现设备间的通信。用户界面允许...

    C#显示应用程序事件日志

    在本文中,我们将深入探讨如何使用C#编程语言来显示应用程序事件日志。事件日志是Windows操作系统中一个重要的组成部分,它记录了应用程序、系统和服务的运行情况,帮助开发者诊断和解决问题。C#提供了丰富的API,...

Global site tag (gtag.js) - Google Analytics