sevenzip提取器工作正常,很好地提取了较小的.7Z文件。用于提取大文件(1gb)的相同代码,得到以下异常。
SevenZipExtractor extractor = new SevenZipExtractor(@"\\Sourcepath\test_20191024143230.7z");
if (extractor.Check())
{
using (var tmp = new SevenZipExtractor(@"\\DestinationPath\test"))
{
for (int i = 0; i < tmp.ArchiveFileData.Count; i++)
{
tmp.ExtractFiles(@"C:\Users\ot97813\RPC_CodeBase\UnZip File\ExtractPath\", tmp.ArchiveFileData[i].Index);
}
}
}
在所有网站中都看到过,但我发现这不支持提取较大的文件。注意:文件未加密或没有密码保护。
这不是答案,只是有效的证明SevenZipExtractor。
using System;
using SevenZipExtractor; // https://github.com/adoconnection/SevenZipExtractor
using ByteSizeLib; // https://github.com/omar/ByteSize
namespace ConsoleAppSevenZipExtractor
{
class Program
{
static void Main(string[] args)
{
using (ArchiveFile archiveFile = new ArchiveFile(@"C:\test.7z"))
{
foreach (var entry in archiveFile.Entries)
{
Console.WriteLine($"{entry.FileName} with {ByteSize.FromBytes(entry.Size)}");
// extract to file to current path
entry.Extract(entry.FileName);
}
}
Console.ReadKey();
}
}
}
使用的7Zip存档大约有2 Gb
控制台输出:
带有88.13 KB的text.txt
带有1.96 GB的video.mp4
带有56.98 KB的promo.jpg
在bin /调试文件上被提取