在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
ZIP 是一种归档入口文件系统格式,支持无损数据压缩。 ZIP 文件可能包含一个或多个经过压缩的文件或目录。 ZIP 文件格式允许使用多种压缩算法,但最常用的是 DEFLATE。 随后,ZIP 格式很快得到了许多软件工具的支持。 顶级操作系统提供商很早就提供了 ZIP 存档支持。微软从 Windows 98 开始就提供 ZIP 文件支持,其他公司也纷纷效仿。
在本博客中,我们将探讨一种现代、简便、高效的方法,使用以下工具打开 ZIP 压缩文件或解压文件IronZIP. 我们将从总体上了解 ZIP 文件及其优势。 然后,我们将查看系统名称空间中可用的选项,以便使用 ZIP 文件格式。 接下来,我们将逐步说明如何打开ZIP文件、将ZIP文件解压到临时文件夹、创建新ZIP文件以及向现有ZIP文件添加文件。
压缩: 该技术使用各种压缩算法(如 Implode、Deflate、Deflate64、bzip2、LZMA、WavPack、PPMd 等)减小归档文件/文件夹的大小。
缩短传输时间: 较小的文件大小意味着更快的传输时间,尤其是在通过互联网发送文件时。 这对于电子邮件附件和从网站上传或下载文件尤其有利。
**文件合并***:通过 ZIP 文件,您可以将多个文件合并为一个归档文件,从而减少需要管理的文件数量。 这对于组织项目或分发由多个文件组成的软件非常有用。
IronZIP 库和文档介绍可参见这里. 在 C# 应用程序中,可以通过各种方式创建和提取 ZIP 文件。 IronZIP NuGet 软件包具有以不同格式 ZIP、TAR、GZIP 和 BZIP2 归档文件的所有功能。以下是如何在现代应用程序编程中使用 IronZIP 构建下一代应用程序的示例步骤,以打开 ZIP 文件、提取 ZIP 文件、创建新的 ZIP 文件等。
可使用 Visual Studio 创建 .NET 控制台应用程序。 打开 Visual Studio 并选择创建项目。 在这里,您可以看到创建项目的各种模板。 演示或测试代码的最简单方法是创建一个控制台应用程序。 我们将选择控制台应用程序项目模板。
在下面的窗口中,您可以输入项目名称、项目在文件系统中的存储位置以及解决方案文件夹的路径。 解决方案和项目文件夹可以保持一致,也可以放在不同的文件夹中。
下一步是为项目选择 .NET Framework 版本。 如果您想在特定版本中进行开发,请指定您喜欢的版本,否则请始终选择最新的稳定版本来创建项目。 最新版本可从 Microsoft 网站下载。然后单击 "创建 "生成控制台应用程序。
这将从模板中创建默认项目,并将项目和解决方案文件存储在指定目录中。 项目创建完成后,其外观将如下所示。 有时,在最新版本的 program.cs 中并没有使用该类。
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string [] args)
{
Console.WriteLine("Hello World!");
}
}
}
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string [] args)
{
Console.WriteLine("Hello World!");
}
}
}
Imports System
' See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!")
Dim MyApp As namespace ' Note: actual namespace depends on the project name.
If True Then
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' internal class Program
' {
' static void Main(string [] args)
' {
' Console.WriteLine("Hello World!");
' }
' }
End If
要创建新的 ZIP 文件并提取所有 ZIP 压缩文件,我们可以使用默认库中的 System.IO.Compression。 在上述代码中ZipFile.OpenRead和ZipFile.Open
静态方法可用于打开 ZIP 文件或解压缩 ZIP 文件。
using System.IO.Compression;
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath,
System.IO.Compression.ZipArchive zipArchive)
{
var file = Path.GetFileName(filePath); // get file name in var file
zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip, ZipArchiveMode.Create))
{
AddEntry(file1, archive);
AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
using System.IO.Compression;
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath,
System.IO.Compression.ZipArchive zipArchive)
{
var file = Path.GetFileName(filePath); // get file name in var file
zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip, ZipArchiveMode.Create))
{
AddEntry(file1, archive);
AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
Imports System.IO.Compression
Console.WriteLine("-----------Zip - Unzip-----------")
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'static void AddEntry(string filePath, System.IO.Compression.ZipArchive zipArchive)
'{
' var file = Path.GetFileName(filePath); ' get file name in var file
' zipArchive.CreateEntryFromFile(filePath, file);
'}
Dim zip = "myFile.zip"
Using archive As System.IO.Compression.ZipArchive = ZipFile.OpenRead(zip, ZipArchiveMode.Create)
AddEntry(file1, archive)
AddEntry(file2, archive)
End Using
Dim dirToExtract = "extract"
If Directory.Exists(dirToExtract) = False Then
Directory.CreateDirectory(dirToExtract)
End If
ZipFile.ExtractToDirectory(zip, dirToExtract) 'extracted file
在上述代码中,我们有一个名为 myFile.zip 的 ZIP 文件,并使用了系统命名空间。 OpenRead "方法用于以指定模式打开 ZIP 文件。 这也可用于创建新的 ZIP 压缩文件。 打开后,我们可以使用方法 AddEntry
添加一个新的归档条目,然后 ExtractToDirectory
将 ZIP 归档文件或所选文件提取到指定目录。 检查目录是否存在。 如果目录不存在,则使用 Directory.CreateDirectory
创建一个目录。 dirToExtract "是提取 ZIP 压缩文件的目录路径。 代码中的最后一行 `ZipFile.ExtractToDirectory(zip, dirToExtract)提取 ZIP 文件。所有文件都保存在目录路径中。
从 Visual Studio 打开项目管理器,搜索 IronZIP 软件包。 然后选择最新版本并点击安装。 您可以从下拉菜单中更改要安装的版本。 然后点击安装。
使用 IronZIP 创建 ZIP 归档文件并添加文件
IronZIP是一个归档压缩和解压缩库,由铁软件. 除了广泛使用的ZIP格式外,它还可以处理TAR、GZIP和BZIP2。
IronZIP是一个 C# ZIP 归档库,优先考虑准确性、易用性和速度。 用户友好的 API 使开发人员能够在几分钟内轻松地将归档功能添加到现代 .NET 项目中。
IronZIP与System.Io.Compression
库相比,System.Io.Compression
库有许多优点。 您可以在压缩过程中指定所需的压缩率,还可以使用不同的压缩算法 ZIP、TAR、GZIP 和 BZIP2。它还支持移动、网络和桌面平台以及各种 .NET 版本。
IronZIPIronArchive 有一个类IronArchive
,可用于创建 ZIP 文件和解压缩 ZIP 文件,还支持使用单个库创建 TAR、GZIP 和 BZIP2 归档文件。 以下是创建 ZIP 文件的代码。IronArchive类创建/打开 ZIP 文件,然后使用 archive.
Add` 方法将文件条目添加到归档文件中,如下所示。
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
// Add files to the zip
archive.Add(file1);
archive.Add(file2);
archive.SaveAs(archivePath);
}
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
// Add files to the zip
archive.Add(file1);
archive.Add(file2);
archive.SaveAs(archivePath);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
初始源代码包含指定 ZIP 压缩文件名称和检查指定目录是否存在所需的设置。 然后,我们使用 "添加 "方法将文件归档以创建 ZIP 文件。 压缩参数中的第二个参数为 1 表示较低,9 表示较高。 txt 文件可以最大使用 9 压缩而不会丢失,图像文件可以使用较低的压缩率以避免数据丢失。
IronArchive类还可用于从 ZIP 压缩文件中提取文件。所有文件都是使用 IronArchive.
ExtractArchiveToDirectory` 来提取的,它有助于将所有文件提取到特定目录,如下所示。
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
Dim extractionPath = "IronZipFiles"
' extract files from zip
If Directory.Exists(extractionPath) = False Then
Directory.CreateDirectory(extractionPath)
End If
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath)
上述代码将 ZIP 文件提取到一个目录中。 代码会检查目录是否存在,然后将 ZIP 压缩文件解压缩到指定目录。
上述代码需要许可证密钥才能使用。 此密钥需要放在 appsettings.json 中
"IronZip.LicenseKey": "your lincese key"
"IronZip.LicenseKey": "your lincese key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronZip.LicenseKey": "your lincese key"
开发人员在注册时可获得试用许可证这里是的,试用许可证无需信用卡。 您可以提供电子邮件 ID 并注册免费试用。
使用静态 FromFile
方法从IronZIP来打开现有存档。此方法还需要指定将作为输出创建的新存档的文件名。
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
// Add files
file.Add(file3);
}
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
// Add files
file.Add(file3);
}
'add to existing archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
Using file = IronArchive.FromFile(archivePath, archivePlusPath)
' Add files
file.Add(file3)
End Using
代码使用 IronArchive.FromFile
静态 void 方法打开现有 ZIP 文件,然后将新文件添加为归档条目。 一旦文件被处理,那么文件就会被成功保存。
IronZIP 库会根据客户/用户的反馈不断更新,所有更新内容均可在以下网站找到这里.
总之,在云主机提供商收取存储和数据传输费用的现代应用程序开发中,ZIP 文件编程是一项必不可少的技能。 掌握这项技能可以帮助程序员降低应用程序的成本,提高应用程序的性能。
开发人员只需按照安装步骤操作,并探索所提供的代码示例,就能快速利用IronZIP您可以使用该工具创建新文件并轻松处理 Zip/Unzip 任务。 随着越来越多的应用程序实现现代化并迁移到云中,拥有一个可靠的 ZIP 库(如IronZIPC# 开发人员掌握必要的工具,以满足现代应用程序开发的需求。 因此,请拥抱IronZIP并为您在 C# 应用程序中处理 ZIP 文件开启新的可能性。
IronZIP为开发者提供广泛的支持。 欲了解更多有关如何IronZIP有关 C# 作品,请访问此处。 IronZIP提供免费试用许可证,这是了解IronZIP及其功能。
铁软件还有其他各种库,探索它们,获取更多知识,更新编程/开发现代应用程序的技能。