检查FileStream是否来自ZipArchive

时间:2018-04-09 12:14:17

标签: c# filestream ziparchive

如果我有一个FileStream,我如何检查它是否来自ZipArchive? 现在我使用一个抛出

的try catch语句

'System.IO.InvalidDataException:'无法找到中央目录记录的结尾。'

如果流不是来自ZipArchive。

try
{
    ZipArchive za = new ZipArchive(fIleStream, ZipArchiveMode.Read);
    ...
}
catch (Exception e)
{
    ...
}

1 个答案:

答案 0 :(得分:2)

您可以嗅探流的前两个字节,看它是否与zip签名匹配。

如此处所述 https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT

应该是0x504b是zip数据。