在.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.txt
、file2.txt
和file3.txt
这三个文件。如果文件数组中的文件不存在,它们将不会被添加到ZIP文件中。