在解壓 Zip 文件時出現異常:System.IO.InvalidDataException: 找不到中央目錄結尾記錄。
。
其原因是所解壓的文件並非 zip 文件。
異常
在解壓 Zip 文件時出現異常:
System.IO.InvalidDataException: 找不到中央目錄結尾記錄。
在 System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
在 System.IO.Compression.ZipArchive.Init(Stream stream, ZipArchiveMode mode, Boolean leaveOpen)
在 System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding)
在 System.IO.Compression.ZipFile.Open(String archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding)
在 System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName, Encoding entryNameEncoding)
在 System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName)
原因
如果一個文件並非 zip 文件,那麼在解壓的時候就會出現此異常。例如,它下載不全,是損壞的;或者,它實際上是一個 rar 文件或者 7z 文件。
驗證也非常簡單,直接使用其他任何成熟的解壓縮工具試着解壓以下這個文件就可以。如果其他工具也不能解壓,通常說明文件下載不全或者已損壞,或者下載的是一個被重定向了的 html 文件。如果其他工具能夠正常解壓,說明這可能是其他格式的壓縮包,而不是 zip。
我的博客會首發於 https://blog.walterlv.com/,而 CSDN 會從其中精選發佈,但是一旦發佈了就很少更新。
如果在博客看到有任何不懂的內容,歡迎交流。我搭建了 dotnet 職業技術學院 歡迎大家加入。
本作品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名呂毅(包含鏈接:https://walterlv.blog.csdn.net/),不得用於商業目的,基於本文修改後的作品務必以相同的許可發佈。如有任何疑問,請與我聯繫。