
引入
管理 ZIP 文件可能具有挑战性,特别是当它们包含 nested 档案. 此指南将通过通过将所有 内部 ZIP 档案 提取到一个单一档案** 使用 Aspose.ZIP for .NET 的过程来引导您。
为什么要创建平板ZIP?
创建平板ZIP档案提供了几个好处:
- 简化ZIP文件管理:在处理多个文件时减少复杂性。
- 将所有粘贴的 ZIP 内容提取到一个档案: 将文件集成,以便更容易访问。
- 减少压缩文件夹结构:流动文件的组织。
内容表
1. 设置 ZIP 档案处理在 C#
要有效处理 nested ZIP 档案,我们将使用 Aspose.ZIP for .NET。
- 自动ZIP提取和重新压缩。
- 支持多个档案格式:ZIP、TAR、GZip等。
- 大档案的有效处理。
安装
您可以通过 NuGet 轻松安装图书馆:
PM> Install-Package Aspose.Zip
Alternatively, you can download the DLL from the Aspose 下载页面.
步骤创建一个平板ZIP档案
考虑下列 nested ZIP 结构:
parent.zip
├ first.txt
├ inner.zip
│ ├ file1.exe
│ └ data.bin
└ picture.gif
浮动后,所有内部的 ZIP 内容将集成到主 ZIP:
flattened.zip
├ first.txt
├ picture.gif
├ file1.exe
└ data.bin
代码例子
下面是你可以自动提取的ZIP文件的方式:
// Load the parent ZIP file
using (Archive parentZip = new Archive("parent.zip"))
{
List<ArchiveEntry> toDelete = new List<ArchiveEntry>();
List<string> newEntryNames = new List<string>();
List<MemoryStream> newStreams = new List<MemoryStream>();
foreach (ArchiveEntry entry in parentZip.Entries)
{
if (entry.Name.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
{
toDelete.Add(entry);
using (MemoryStream zipStream = new MemoryStream())
{
entry.Open().CopyTo(zipStream);
zipStream.Position = 0;
using (Archive innerZip = new Archive(zipStream))
{
foreach (ArchiveEntry innerEntry in innerZip.Entries)
{
using (MemoryStream entryStream = new MemoryStream())
{
innerEntry.Open().CopyTo(entryStream);
newEntryNames.Add(innerEntry.Name);
newStreams.Add(entryStream);
}
}
}
}
}
}
foreach (var entry in toDelete)
parentZip.DeleteEntry(entry);
for (int i = 0; i < newEntryNames.Count; i++)
parentZip.CreateEntry(newEntryNames[i], newStreams[i]);
parentZip.Save("flattened.zip");
}
这种方法有效地 自动化粘贴的ZIP文件提取,确保顺利的工作流。
3. 保存平板 ZIP 文件
一旦您提取了粘贴的 ZIP 内容,请使用下列代码行保存粘贴的 ZIP 文件:
parentZip.Save("flattened.zip");
这确保您有一个 单一的 ZIP 存档,没有粘贴文件夹,使文件管理更容易。
4. Batch 处理 多 ZIP 档案
如果您需要在特定文件夹中找到 平板多个 ZIP 档案,您可以使用以下代码剪辑:
string[] files = Directory.GetFiles("zip_folder", "*.zip");
foreach (string file in files)
{
using (Archive archive = new Archive(file))
{
archive.ExtractToDirectory("output_folder");
}
}
这种方法允许 自动大批 ZIP 处理,节省您的时间和精力。
5、获得免费的API许可证
若要解锁 Aspose.ZIP 的完整功能,您可以申请 (免费临时许可证)(http://purchase.aspose.com/temporary-license)。
要了解完整的文档,请参阅 Aspose.ZIP 指南. 如果您有任何疑问,您可以自由地与社区联系在 [阿斯波斯论坛 ](http://forum.aspo.net/。
结论和额外资源
总结
在此指南中,我们涵盖了:
- 如何在 C# 中插入 ZIP 文件
- 提取 ZIP 存档
- 保存最终 ZIP 存档
- 同时处理多个 ZIP 文件
使用 Aspose.ZIP for .NET,您可以在您的应用程序中有效地 提取和管理 ZIP 档案。
其他资源
对于开发人员想要提高他们的理解,考虑这些主题:
- C# Archive:了解如何在 C# 中使用不同的档案格式。
- C# Decompress ZIP:使用 C# 解压ZIP文件的详细指南。
- C# 从 ZIP 提取文件:步骤指示从 Zip 档案中获取特定文件。
- C# Open ZIP:了解如何有效地打开和阅读ZIP文件。
- C# ZipArchive Extract to Directory: 探索如何使用Ziparchive以有效地提取文件。
- C# Zipping 文件:关于在 C# 中创建 ZIP 檔案的全面指南。
- 创建一个 ZIP 文件 C#**: 探索在您的 C# 应用程序中创造 Zip 文档的各种方法。
- 创建 ZIP 文件 C# .NET Core**:专注于 .Net Core,学习ZIP文件创作的最佳做法。
- **在 C# 中提取 ZIP 文件:在您的项目中提交 Zip 檔案的技巧。
- 如何在 .NET 中的 Zip 文件与 C#: 一个完整的步行路径在使用 .Net 和 C# 的 zipping 檔案。
- ** .NET Core 创建 ZIP 文件**: 详细查看使用 .Net Core と C# 的 Zip 檔案的創建。
- C# Zipping 文件:在您的应用程序中有效压缩文件的最佳做法。
使用这些资源,包括 C# 创建 Zip 文件, ** C# Archive** 和 c# Decompress ZIP ,您可以进一步扩展您的文件管理和处理能力。