首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从文件路径列表中C# -Make一个压缩文件

在C#中,可以使用System.IO.Compression命名空间中的ZipArchive类来创建一个压缩文件。以下是一个完整的示例代码:

代码语言:csharp
复制
using System;
using System.IO;
using System.IO.Compression;

public class Program
{
    public static void Main(string[] args)
    {
        string[] filePaths = { "file1.txt", "file2.txt", "file3.txt" }; // 文件路径列表

        string zipPath = "compressed.zip"; // 压缩文件的路径

        using (FileStream zipFile = new FileStream(zipPath, FileMode.Create))
        {
            using (ZipArchive archive = new ZipArchive(zipFile, ZipArchiveMode.Create))
            {
                foreach (string filePath in filePaths)
                {
                    string fileName = Path.GetFileName(filePath); // 获取文件名

                    ZipArchiveEntry entry = archive.CreateEntry(fileName); // 创建压缩文件中的条目

                    using (FileStream file = new FileStream(filePath, FileMode.Open))
                    {
                        using (Stream entryStream = entry.Open())
                        {
                            file.CopyTo(entryStream); // 将文件内容复制到压缩文件中的条目
                        }
                    }
                }
            }
        }

        Console.WriteLine("压缩文件已创建:" + zipPath);
    }
}

上述代码中,首先定义了一个文件路径列表filePaths,其中包含了要压缩的文件的路径。然后,指定了压缩文件的路径zipPath

接下来,使用FileStream创建一个文件流,用于创建压缩文件。然后,使用ZipArchive类创建一个压缩文件的实例,并指定创建模式为ZipArchiveMode.Create

然后,使用foreach循环遍历文件路径列表中的每个文件路径。在循环中,首先使用Path.GetFileName方法获取文件名,然后使用archive.CreateEntry方法创建压缩文件中的条目。

接着,使用FileStream创建一个文件流,用于读取要压缩的文件。然后,使用entry.Open方法打开压缩文件中的条目的流,并使用CopyTo方法将文件内容复制到条目的流中。

最后,关闭所有的文件流,并输出压缩文件已创建的消息。

这是一个基本的示例,你可以根据实际需求进行修改和扩展。在实际应用中,你可能需要处理异常、添加文件夹结构、设置压缩级别等。

腾讯云相关产品和产品介绍链接地址:

  • 对象存储(COS):腾讯云提供的高可靠、低成本的对象存储服务,适用于存储和处理任意类型的文件。
  • 云服务器(CVM):腾讯云提供的弹性计算服务,可快速部署云服务器实例,满足不同业务需求。
  • 云函数(SCF):腾讯云提供的事件驱动的无服务器计算服务,可帮助开发者构建和运行云端应用程序。
  • 云数据库 MySQL 版(CMYSQL):腾讯云提供的高性能、可扩展的关系型数据库服务,适用于各种规模的应用程序。
  • 人工智能开发平台(AI Lab):腾讯云提供的一站式人工智能开发平台,提供丰富的人工智能算法和工具,帮助开发者快速构建智能应用。
  • 物联网开发平台(IoT Explorer):腾讯云提供的物联网开发平台,提供设备管理、数据采集、消息通信等功能,帮助开发者构建物联网应用。
  • 移动推送(信鸽):腾讯云提供的移动推送服务,可帮助开发者实现消息推送、用户分群、行为分析等功能。
  • 云存储(COS):腾讯云提供的高可靠、低成本的云存储服务,适用于存储和处理任意类型的数据。
  • 区块链服务(BCS):腾讯云提供的区块链服务,可帮助企业快速搭建和管理区块链网络。
  • 腾讯云游戏引擎(GSE):腾讯云提供的游戏服务引擎,可帮助开发者构建高质量的游戏服务。
  • 腾讯云直播(CSS):腾讯云提供的全球覆盖的直播分发网络,可帮助开发者实现高质量的实时音视频传输。
  • 腾讯云音视频处理(VOD):腾讯云提供的音视频处理服务,可帮助开发者实现音视频的上传、转码、剪辑、播放等功能。

请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

25分31秒

每日互动CTO谈数据中台(上):从要求、方法论到应用实践

3.2K
26分40秒

晓兵技术杂谈2-intel_daos用户态文件系统io路径_dfuse_io全路径_io栈_c语言

领券