列出和处理存档中的文件






2.86/5 (6投票s)
本文介绍了如何使用 CAKE3,它是一个用于许多归档 DLL 的封装组件。

引言
本文介绍了如何使用 CAKE3,它是一个用于许多归档 DLL 的封装组件,包括 SharpZipLib(Zip)、Sqx Archiver(Sqx)、XacRett(范围广泛)、Unlha(Lha,Lzh)、Unarj(Arj)、7-zip32(7z)、Unace(ace)、Unrar(rar) 归档文件。
背景
C# 中有一些 zip/unzip 解决方案,但我需要更多类型的归档文件支持。我相信在不久的将来,大多数其他归档类型都不会有原生支持,所以唯一的办法是调用 Win32 DLL...
Using the Code
所有归档操作都可以通过主单元执行:Cakdir3
,如果您想访问新的归档文件,则应创建一个新的 Cakdir3
实例。
您应该先下载归档 DLL,详细路径可以在 Dlls.txt 中找到。
您可以在 这里 查看帮助文件。
列出文件
Cakdir3 c3 = new Cakdir3(archiveName);
c3.OnMessage += new MessageEventHandler(OnMessage);
c3.List(mask);
foreach (ContentType ct in c3.Archive_Contents)
Console.WriteLine(ct.fileName);
//Utils.GetSmallFileIcon - Return small file icon of a file (exist or not).
//Utils.GetLargeFileIcon - Return large file icon of a file (exist or not).
测试文件
Cakdir3 c3 = new Cakdir3(archiveName);
c3.OnMessage += new MessageEventHandler(OnMessage);
c3.Test();
压缩文件
Cakdir3 c3 = new Cakdir3(archiveName);
c3.OnMessage += new MessageEventHandler(OnMessage);
c3.AddOptions.addFile = new string[] { "C:\file2Add" }
c3.Add(); //Use c3.AddToFolder if you want to add to specific folder in archive.
解压缩文件
Cakdir3 c3 = new Cakdir3(archiveName);
c3.OnMessage += new MessageEventHandler(OnMessage);
c3.ExtractOptions.extractFolder = "c:\path2extract";
c3.ExtractOptions.extractItem = new string[] { "*" };
c3.Extract();
删除文件
Cakdir3 c3 = new Cakdir3(archiveName);
c3.OnMessage += new MessageEventHandler(OnMessage);
c3.DeleteOptions.deleteFile = new string[] { "/file2del" };
c3.Delete();
关注点
我为 我的下一个免费归档程序 编写了这个组件。 我不知道还能用它做什么。 如果您发现任何用途,请给我发邮件。
历史
- 2007-06-14 - 初始发布
- 2007-06-23 - 库更新 (更新列表)