C# DotNetZip不从WinZip提取最佳压缩
我使用DotNetZip dll在C#中创建了一个非常简单的程序。我正在尝试提取一个选择最佳压缩的zip文件。这是代码C# DotNetZip不从WinZip提取最佳压缩,c#,.net,dotnetzip,C#,.net,Dotnetzip,我使用DotNetZip dll在C#中创建了一个非常简单的程序。我正在尝试提取一个选择最佳压缩的zip文件。这是代码 static void Main(string[] args) { string nameOfFile = "testBest.zip"; string directory = "testBest"; Console.WriteLine("Extracting file {0} to {1}", nameOfFile,
static void Main(string[] args)
{
string nameOfFile = "testBest.zip";
string directory = "testBest";
Console.WriteLine("Extracting file {0} to {1}", nameOfFile, directory);
using (ZipFile zip = ZipFile.Read(nameOfFile))
{
foreach (ZipEntry e in zip)
{
e.Extract(directory, ExtractExistingFileAction.OverwriteSilently);
}
}
}
错误显示其中一个txt文件使用了不受支持的压缩方法
使用最佳压缩时,DotNetZip库能否不提取zip文件?有办法解决这个问题吗?有哪些替代方案?我可以想象,所使用的zip压缩不是受支持的压缩。下面是一个论坛帖子的例子:
在本例中,使用了DEFLATE64的压缩而不是DEFLATE,这与您看到的错误相同。虽然您的整个错误文本会更有帮助,但它可能会归结为同一件事-库不支持您的压缩方法。嘿,这里我创建了提取方法。您需要给出目录的完整路径 像c:\temp\temp.zip
public void MyExtractZip(string FileName,string Password)
{
string ExtractLocation = string.Empty;
using (ZipFile zip = ZipFile.Read(FileName))
{
// here, we extract every entry, but we could extract conditionally
// based on entry name, size, date, checkbox status, etc.
string ArchiveName =Path.GetFileNameWithoutExtension(FileName);
Console.WriteLine("[1] Extract Here [2] Extract too [3] Extract to "+ArchiveName);
Console.WriteLine("\n");
Console.Write("Select your option :: \t");
string entry = Console.ReadLine();
int n = int.Parse(entry);
string Location =string.Empty;
if (n == 2)
{
Console.Write("Enter the Location ::" );
Location = Console.ReadLine();
}
Console.Write("\n");
switch (n)
{
case 1:
ExtractLocation=Path.GetDirectoryName(FileName);
break;
case 2:
ExtractLocation = Location + "\\";
break;
case 3:
ExtractLocation = Path.GetDirectoryName(FileName) + "\\"+Path.GetFileNameWithoutExtension(FileName);
break;
}
zip.Password = Password;
foreach (ZipEntry e in zip)
{
e.Extract(ExtractLocation, ExtractExistingFileAction.OverwriteSilently);
}
}
}
那么,问题是什么?是的,库在解压时可能会遇到一些问题。如果DotNetZip库在其错误消息中说该格式不受支持,则您可能无法在这些格式上使用DotNetZip。。。。。。使用其他受支持的格式…使用的格式是PPMd,DotNetZip库不支持该格式。谢谢你的信息!