在C#中,可以使用System.IO.Compression命名空间中的ZipArchive类来创建一个压缩文件。以下是一个完整的示例代码:
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
方法将文件内容复制到条目的流中。
最后,关闭所有的文件流,并输出压缩文件已创建的消息。
这是一个基本的示例,你可以根据实际需求进行修改和扩展。在实际应用中,你可能需要处理异常、添加文件夹结构、设置压缩级别等。
腾讯云相关产品和产品介绍链接地址:
请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云