C # .net identifie le fichier zip

Je suis actuellement en utilisant le SharpZip api pour gérer mes fichiers zip entrées. Il fonctionne splendide pour la compression et décompression des fichiers. Cependant, je vais avoir du mal à identifier si un fichier est une archive zip ou pas. J'ai besoin de savoir si il existe un moyen de détecter si un fichier de flux peut être décompressé. À l'origine, j'ai utilisé

FileStream lFileStreamIn = File.OpenRead(mSourceFile);
lZipFile = new ZipFile(lFileStreamIn);
ZipInputStream lZipStreamTester = new ZipInputStream(lFileStreamIn, mBufferSize);//not working
lZipStreamTester.Read(lBuffer, 0, 0);
if (lZipStreamTester.CanDecompressEntry)
{

La LZipStreamTester devient nul de tous les temps et de l'instruction if échoue. Je l'ai essayé avec/sans tampon. Quelqu'un peut-il donner quelque aperçu des raisons pour lesquelles? Je suis conscient que je peux vérifier l'extension de fichier. J'ai besoin de quelque chose qui est de plus en plus évident que cela. Je suis aussi conscient que zip a une magie #(PK quelque chose), mais ce n'est pas une garantie qu'il sera toujours là parce que ce n'est pas une exigence de la format.

Aussi j'ai lu .net 4.5 avoir native support zip si mon projet peut migrer à ce que, au lieu de sharpzip mais j'ai encore besoin de ne pas voir une méthode/param similaire à CanDecompressEntry ici: http://msdn.microsoft.com/en-us/library/3z72378a%28v=vs.110%29

Mon dernier recours sera d'utiliser un try catch et tenter de décompresser le fichier.

source d'informationauteur Sean Dunford