I have a large ZIP file, containing many directories with tens of thousands of small files that each need to be read.
The process of extracting them from the ZIP using 7-Zip takes quite a long time. In C# I could first extract the entire ZIP somewhere before operating on it, but ideally I'd like to just read one file at a time from the ZIP into memory, without having to extract it to a location on disk.
I have looked at the native C# ZIP utilities along with DotNetZip and SharpZipLib but haven't seen anything directly relating to what I am after.
Can this be done & will it actually offer any performance benefits over simply extracting in the first place?
You can use DotNetZip to extract every fileName(and it's properties) out of a zip file.
See: https://www.nuget.org/packages/DotNetZip/ Old Archive: https://archive.codeplex.com/?p=dotnetzip