使用SharpCompress包时,c#中的RarHeader:16无效
使用sharpcompress包在c#中提取rar文件时,我遇到了错误,我在Nunrar、sevenzip extractor和许多包中都尝试过,但也遇到了同样的错误使用SharpCompress包时,c#中的RarHeader:16无效,c#,7zip,rar,sevenzipsharp,sharpcompress,C#,7zip,Rar,Sevenzipsharp,Sharpcompress,使用sharpcompress包在c#中提取rar文件时,我遇到了错误,我在Nunrar、sevenzip extractor和许多包中都尝试过,但也遇到了同样的错误 String filename = @"" + textBox8.Text; string ppath = @"" + System.IO.Path.GetDirectoryName(textBox8.Text) + "\\" + System.IO.Path.GetFileNameWithoutExtension(textBox
String filename = @"" + textBox8.Text;
string ppath = @"" + System.IO.Path.GetDirectoryName(textBox8.Text) + "\\" + System.IO.Path.GetFileNameWithoutExtension(textBox8.Text);
System.IO.Directory.CreateDirectory(@"" + ppath);
try
{
var archive = SharpCompress.Archives.Rar.RarArchive.Open(filename);
foreach (var entry in archive.Entries.Where(entry => !entry.IsDirectory))
{
entry.WriteToDirectory(ppath, new ExtractionOptions()
{
});
}
}
catch(Exception ex)
{
textBox10.Text = Convert.ToString(ex);
}
最后我解决了NunRar支持Rar4格式的问题 字符串文件名=@“+textBox8.Text; 字符串ppath=@”“+System.IO.Path.GetDirectoryName(textBox8.Text)+“\”+System.IO.Path.GetFileName WithOutExtension(textBox8.Text); 字符串ext=textBox7.Text.Substring(textBox7.Text.IndexOf(“.”)
try
{
if (ext == ".rar")
{
System.IO.Directory.CreateDirectory(@"" + ppath);
try
{
NUnrar.Archive.RarArchive.WriteToDirectory(filename, ppath, NUnrar.Common.ExtractOptions.ExtractFullPath | NUnrar.Common.ExtractOptions.Overwrite);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else if (ext == ".zip")
{
System.IO.Directory.CreateDirectory(@"" + ppath);
try
{
ZipFile.ExtractToDirectory(filename, ppath);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}