使用7zip检测文件是否为存档

Fid*_*del 2 c# file 7zip archive sevenzipsharp

我想使用SevenZipSharp来确定文件是否是存档.我知道这是可能的,因为在资源管理器中如果我将.zip重命名为.bmp,7zip仍然将其识别为存档.

--edit:换句话说,我想让7zip告诉我文件(无论扩展名)是否包含某种受支持的存档(zip,tar,rar,iso等)

谢谢,菲德尔

SLa*_*aks 5

您可以传递__CODE____CODE__构造函数以强制它使用文件头而不是扩展名来检查存档类型.

static bool IsArchive(string filename)
{
    bool result = false;
    try
    {
        new ArchiveFile(File.OpenRead(filename));
        result = true;
    }
    catch
    {
        //log if you're going to do something about it
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)