检查 FileStream 是否来自 ZipArchive

问题描述 投票:0回答:1

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

'System.IO.InvalidDataException:'找不到中央目录记录末尾。'

如果流不是来自 ZipArchive。

try
{
    ZipArchive za = new ZipArchive(fIleStream, ZipArchiveMode.Read);
    ...
}
catch (Exception e)
{
    ...
}
c# filestream c#-ziparchive
1个回答
3
投票

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

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

应该是 0x504b 作为 zip 数据。

© www.soinside.com 2019 - 2024. All rights reserved.