.net 批量导出文件,以ZIP压缩方式导出

在.NET中,你可以使用System.IO.Compression命名空间中的ZipFile类来创建ZIP文件。以下是一个简单的示例,展示了如何将多个文件批量导出为ZIP压缩文件:




using System.IO;
using System.IO.Compression;
 
public void CreateZipFile(string[] filesToZip, string zipFilePath)
{
    if (File.Exists(zipFilePath))
    {
        throw new IOException("The file already exists.");
    }
 
    using (FileStream zipFileStream = new FileStream(zipFilePath, FileMode.Create))
    {
        using (ZipArchive zipArchive = new ZipArchive(zipFileStream, ZipArchiveMode.Create))
        {
            foreach (string file in filesToZip)
            {
                if (File.Exists(file))
                {
                    ZipFile(file, zipArchive);
                }
            }
        }
    }
}
 
private void ZipFile(string filePath, ZipArchive zipArchive)
{
    using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
    {
        string fileName = Path.GetFileName(filePath);
        zipArchive.CreateEntryFromStream(fileName, fileStream);
    }
}

使用CreateZipFile函数,你可以传入一个文件路径数组和ZIP文件的路径。这个函数会遍历所有文件,并将它们添加到ZIP文件中。如果目标ZIP文件已经存在,它会抛出一个IOException

要使用上述代码,只需调用CreateZipFile方法并提供所需的文件路径数组和ZIP文件路径即可。例如:




string[] filesToZip = { "file1.txt", "file2.txt", "file3.txt" };
string zipFilePath = "archive.zip";
 
CreateZipFile(filesToZip, zipFilePath);

这将创建一个名为archive.zip的ZIP文件,其中包含file1.txtfile2.txtfile3.txt这三个文件。如果文件数组中的文件不存在,它们将不会被添加到ZIP文件中。

最后修改于:2024年08月21日 15:01

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日