开放的编程资料库

当前位置:我爱分享网 > C#教程 > 正文

C# 压缩文件

在本文中,我们使用ZipFile在C#中创建、读取和提取ZIP文件。

邮编

ZIP是一种支持无损数据压缩的存档文件格式。ZIP文件可能包含一个或多个可能已被压缩的文件或目录。

ZipFile提供用于创建、提取和打开zip存档的静态方法。它是System.IO.Compression包的一部分。

C#ZipFile.CreateFromDirectory

ZipFile.CreateFromDirectory创建一个zip存档,其中包含来自指定目录的文件和目录。

using System.IO.Compression;

string dirName = "data";
string zipName = "archive.zip";

if (File.Exists(zipName))
{
    File.Delete(zipName);
}

ZipFile.CreateFromDirectory(dirName, zipName);

在示例中,我们从一个目录创建一个新的ZIP文件。

string dirName = "data";
string zipName = "archive.zip";

我们定义目录和ZIP存档的名称。

if (File.Exists(zipName))
{
    File.Delete(zipName);
}

我们使用File.Exists检查存档是否已经存在。如果存在,我们使用File.Delete将其删除。

ZipFile.CreateFromDirectory(dirName, zipName);

ZipFile.CreateFromDirectory的参数是目录名称和ZIP文件的名称。

C#ZipFile包含指定的文件

在下一个示例中,我们选择要包含在存档中的文件。

using System.IO.Compression;

string zipName = "archive.zip";

if (File.Exists(zipName))
{
    File.Delete(zipName);
}

var files = Directory.GetFiles(@"data", "*.jpg");

using var archive = ZipFile.Open(zipName, ZipArchiveMode.Create);

foreach (var file in files)
{
    archive.CreateEntryFromFile(file, Path.GetFileName(file));
}

该程序从指定目录中获取所有JPG图像并从中创建一个存档。

var files = Directory.GetFiles(@"data", "*.jpg");

使用Directory.GetFiles,我们找到所有匹配给定模式的文件。

using var archive = ZipFile.Open(zipName, ZipArchiveMode.Create);

我们在ZipArchiveMode.Create中使用ZipFile.Open打开ZIP存档。

foreach (var file in files)
{
    archive.CreateEntryFromFile(file, Path.GetFileName(file));
}

我们使用CreateEntryFromFile将文件添加到存档。

在本文中,我们在C#中使用了ZipFile。

C#ZipFile.ExtractToDirectory

ZipFile.ExtractToDirectory将指定zip存档中的所有文件提取到给定目录。

using System.IO.Compression;

string dirName = "data2";
string zipName = "archive.zip";

if (Directory.Exists(dirName))
{
    Directory.Delete(dirName, true);
}

ZipFile.ExtractToDirectory(zipName, dirName);

在示例中,我们将ZIP文件的内容提取到目录中。

if (Directory.Exists(dirName))
{
    Directory.Delete(dirName, true);
}

首先,我们使用Directory.Exists检查目录是否已经存在,如果存在则使用Directory.Delete将其删除。

ZipFile.ExtractToDirectory(zipName, dirName);

我们使用ZipFile.ExtractToDirectory将存档解压缩到目录。

ZipFile.ExtractToDirectory有一个带有overwriteFiles参数的重载。如果设置为true,它将覆盖文件目标文件。

using System.IO.Compression;

string dirName = "data2";
string zipName = "archive.zip";

ZipFile.ExtractToDirectory(zipName, dirName, true);

在此示例中,我们使用overwriteFiles参数代替检查和删除目录。

C#ZipFile读取内容

在下一个示例中,我们读取ZIP文件的内容。

using System.IO.Compression;

string zipFile = "data.zip";

using var archive = ZipFile.OpenRead(zipFile);

foreach (var entry in archive.Entries)
{
    Console.WriteLine(entry.Name);
}

使用ZipFile.Open,我们打开一个zip存档以供阅读。

foreach (var entry in archive.Entries)
{
    Console.WriteLine(entry.Name);
}

通过Entries属性,我们检索ZIParchive中的所有文件。

列出所有C#教程。

未经允许不得转载:我爱分享网 » C# 压缩文件

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏