在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在文件条目压缩和归档实用程序领域,7-Zip 是一种通用的开源解决方案。 SevenZip 以其高压缩率和对各种归档格式的支持而闻名,已成为寻求高效文件管理的用户的热门选择。 在本文中,我们将探讨什么是 7-Zip、7-Zip 如何工作、7-Zip 的主要功能、独特的 7z 格式、压缩比以及有助于**创建 7z 存档的 C# .NET SDK。 此外,我们还将介绍 IronZIP 作为 .NET 生态系统中的替代解决方案。
SevenZip 或 7-Zip是一款免费的开源文件压缩工具,允许用户压缩和解压文件。 7-Zip 由 Igor Pavlov 开发,支持多种压缩格式,是管理和组织数据的多功能工具。
7-Zip 采用先进的压缩算法来减小文件和文件夹的大小。 它采用了 LZMA(Lempel-Ziv 马尔科夫链算法)译文必须保持专业性,在解释这些开发人员工具的功能和优点的同时,保持技术上的准确性。 该工具还支持 ZIP、TAR 和 GZIP 等其他常见格式。
7z 格式是 7-Zip 用于归档的专有格式。 它采用了 LZMA 压缩算法,该算法以其出色的压缩比而著称。 7z 格式支持固体压缩、文件分割和自解压归档等功能。
7-Zip 以其出色的压缩率而闻名,尤其是在使用带有 LZMA 算法的 7z 格式时。 这样既能提高效率,缩小归档文件的大小,又不会影响压缩文件的完整性。 使用 7-Zip 创建的文件压缩率比普通 ZIP 格式高 30-70%。
对于使用 C# 的开发人员,7-Zip 提供了一个 .NET SDK,可将 7-Zip 功能无缝集成到自定义应用程序中。 SDK 允许开发人员以编程方式执行压缩和解压缩操作,为在 C# 项目中管理归档文件提供了灵活性。
如果您想在 C# 应用程序中使用 7-Zip,可以使用 7-Zip SDK 或在 C# 代码中使用命令行可执行文件。 以下是两种方法的简要概述
7-Zip SDK 包含 7z.dll 库,您可以在 C# 项目中使用该库。 这种方法允许您以编程方式执行压缩和解压缩操作。
下面是使用 7-Zip SDK 的源代码示例:
using SevenZip;
class Program
{
static void Main()
{
// Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll");
// Create a SevenZipExtractor or SevenZipCompressor instance
// Perform compression or decompression operations as needed
// Example: Extract files from an archive
using (var extractor = new SevenZipExtractor("archive.7z"))
{
extractor.ExtractArchive("output_directory");
}
// Example: Compress files into an archive
using (var compressor = new SevenZipCompressor())
{
// Add File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt");
}
}
}
using SevenZip;
class Program
{
static void Main()
{
// Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll");
// Create a SevenZipExtractor or SevenZipCompressor instance
// Perform compression or decompression operations as needed
// Example: Extract files from an archive
using (var extractor = new SevenZipExtractor("archive.7z"))
{
extractor.ExtractArchive("output_directory");
}
// Example: Compress files into an archive
using (var compressor = new SevenZipCompressor())
{
// Add File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt");
}
}
}
Imports SevenZip
Friend Class Program
Shared Sub Main()
' Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll")
' Create a SevenZipExtractor or SevenZipCompressor instance
' Perform compression or decompression operations as needed
' Example: Extract files from an archive
Using extractor = New SevenZipExtractor("archive.7z")
extractor.ExtractArchive("output_directory")
End Using
' Example: Compress files into an archive
Using compressor = New SevenZipCompressor()
' Add File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt")
End Using
End Sub
End Class
请确保将 "path_to_7z.dll "替换为 7z.dll 库的实际路径。 您可以在 7-Zip 安装目录中找到 7z.dll 文件。
或者,您也可以使用 7-Zip 命令行可执行文件(7z.exe)在 C# 源代码中通过 "System.Diagnostics.Process "类调用它。
using System.Diagnostics;
class Program
{
static void Main()
{
// Example: Extract files from an archive using the command-line executable
string archivePath = "archive.7z";
string outputPath = "output_directory";
ProcessStartInfo processStartInfo = new ProcessStartInfo
{
FileName = "7z.exe",
Arguments = $"x \"{archivePath}\" -o\"{outputPath}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
using (Process process = new Process { StartInfo = processStartInfo })
{
process.Start();
process.WaitForExit();
}
}
}
using System.Diagnostics;
class Program
{
static void Main()
{
// Example: Extract files from an archive using the command-line executable
string archivePath = "archive.7z";
string outputPath = "output_directory";
ProcessStartInfo processStartInfo = new ProcessStartInfo
{
FileName = "7z.exe",
Arguments = $"x \"{archivePath}\" -o\"{outputPath}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
using (Process process = new Process { StartInfo = processStartInfo })
{
process.Start();
process.WaitForExit();
}
}
}
Imports System.Diagnostics
Friend Class Program
Shared Sub Main()
' Example: Extract files from an archive using the command-line executable
Dim archivePath As String = "archive.7z"
Dim outputPath As String = "output_directory"
Dim processStartInfo As New ProcessStartInfo With {
.FileName = "7z.exe",
.Arguments = $"x ""{archivePath}"" -o""{outputPath}""",
.RedirectStandardOutput = True,
.UseShellExecute = False,
.CreateNoWindow = True
}
Using process As New Process With {.StartInfo = processStartInfo}
process.Start()
process.WaitForExit()
End Using
End Sub
End Class
确保 "7z.exe "位于系统的 PATH 中,或在 FileName
属性中提供可执行文件的完整路径。
虽然 7-Zip 是一个强大的解决方案,但在 .NET 生态系统中探索替代方案的开发人员可能会发现 IronZIP for .NET 是一个令人信服的选择。IronZIPC# 压缩库是一个 .NET 压缩库,提供与 7-Zip 类似的功能,为开发人员提供在其 C# 应用程序中压缩、解压和处理压缩包的工具。
IronZIP 是一个功能强大的 C# ZIP 压缩文件库,可简化在 .NET 应用程序中处理 ZIP 文件的工作。 借助其用户友好的 API,开发人员可以高效地使用 IronZIP创建、读取和提取 ZIP 压缩文件. 下面是一个简单的代码片段,展示了使用 IronZIP 创建 ZIP 压缩包:
using IronZip;
class Program
{
static void Main()
{
// Specify the path for the new ZIP archive
string zipFilePath = "output.zip";
// Create an empty ZIP archive
using (var archive = new IronArchive(zipFilePath))
{
// Add files to the ZIP
archive.AddArchiveEntry("./assets/file1.txt");
archive.AddArchiveEntry("./assets/file2.jpg");
archive.AddArchiveEntry("./assets/file3.pdf");
}
Console.WriteLine("ZIP archive created successfully!");
}
}
using IronZip;
class Program
{
static void Main()
{
// Specify the path for the new ZIP archive
string zipFilePath = "output.zip";
// Create an empty ZIP archive
using (var archive = new IronArchive(zipFilePath))
{
// Add files to the ZIP
archive.AddArchiveEntry("./assets/file1.txt");
archive.AddArchiveEntry("./assets/file2.jpg");
archive.AddArchiveEntry("./assets/file3.pdf");
}
Console.WriteLine("ZIP archive created successfully!");
}
}
Imports IronZip
Friend Class Program
Shared Sub Main()
' Specify the path for the new ZIP archive
Dim zipFilePath As String = "output.zip"
' Create an empty ZIP archive
Using archive = New IronArchive(zipFilePath)
' Add files to the ZIP
archive.AddArchiveEntry("./assets/file1.txt")
archive.AddArchiveEntry("./assets/file2.jpg")
archive.AddArchiveEntry("./assets/file3.pdf")
End Using
Console.WriteLine("ZIP archive created successfully!")
End Sub
End Class
有关 IronZIP 及其功能或代码示例的更多信息,请访问IronZIP 文档page.
7-Zip 始终是文件压缩领域的主导力量,为用户提供了一个开源、功能丰富且压缩率极高的解决方案。 .NET SDK 支持各种存档格式,并具有强大的加密功能,是休闲用户和开发人员的多功能选择。.NET SDK 进一步将其实用性扩展到 C# 开发人员,便于无缝集成到自定义应用程序中。 对于那些在 .NET 领域寻找替代品的人来说,IronZIP 是一个值得关注的竞争者,它针对 C# 开发人员的特定需求提供了类似的功能。
IronZIP 提供了一个免费试用 IronZIP . 下载并试用 IronZIP for .NET Core 和 Framework 库。IronZIP 下载页面.