【发布时间】:2017-02-09 18:44:02
【问题描述】:
我需要有关 7z 压缩文件的具体帮助。我希望大家都知道什么是 7z 文件。它是由 7zip 创建的压缩文件格式。
我需要向最终用户提供 10+ GB 的大量数据(使用 7zip 压缩后)。
因此,我使用 7zip 压缩数据并将文件拆分为 1024MB (1GB)。 因此,例如对于 10GB 数据,它将是 10 个文件,例如:
Data.7z.001
Data.7z.002
Data.7z.003
Data.7z.004
Data.7z.005
Data.7z.006
Data.7z.007
Data.7z.008
Data.7z.009
Data.7z.010
所以,我把这些数据放在 3 张 DVD 磁盘上。
我还为该数据制作了一个提取器/安装器(稍后我将其称为我的应用程序)。
我的应用在后台使用 7zip CLI(命令行界面)来提取数据。我也将我的安装程序放在 DVD 中。
当前情景:
现在用户必须首先将所有磁盘(本例中为 3 个磁盘)复制到一个文件夹中。然后运行我的安装程序来提取文件。
他们必须将所有磁盘放入单个/同一个文件夹,因为 7z GuI/CLI 不支持查找未找到的文件。我的意思是,例如,如果 Data.006.7z 文件丢失,它不会要求用户浏览并选择该文件。它只会中止进程并显示错误消息。
当前场景的问题: 如上所述,用户必须首先将所有磁盘复制到他们的硬盘中。它有 3 个主要问题:
1. They must have that much space to copy all the disk in to same folder/drive
2. It will take so long to copy the disk then extract the data.
3. It need double space than it should :(
我在寻找什么: 我见过 7zip 有 LZMA SDK。但没有 vb.net 客户端库 :(。我希望在我的 vb.net 项目中使用 LZMA SDK。所以,我可以处理那些 7z 文件并克服 7zip gui/问题。
所以,我的应用程序将首先提取在磁盘 1 中找到的 7z 文件,例如 001 到 004,然后它会请求第二个磁盘,当用户放入第二个磁盘时,它将从该数字继续,例如 005,完成后会询问需要时用于磁盘 3,依此类推..
希望这是有道理的?
我知道这是可能的,因为我看到一些安装程序使用 LZMA 压缩可能覆盖多个磁盘的文件,然后安装程序正确安装它们:)
那么,任何人都可以帮助我实现目标吗?请问?
提前谢谢..
最好的问候
【问题讨论】:
-
不知道这是否有帮助,但你看到了这个:sevenzipsharp.codeplex.com
-
切换到 U 盘?
-
@rheitzman,感谢您的回复,但这不是我想要的 .. :(。我正在寻找一个编程解决方案。因为不同的集合有不同的数据量。
-
@JohnBustos,亲爱的先生,不,sevenzipsharp 与 7zip 有相同的问题。如果缺少任何部分,它也会显示错误:(。但是感谢您的回复
-
有什么想法/可能性吗?
标签: .net vb.net compression 7zip lzma