xoofx / zio

A cross-platform abstract/virtual filesystem framework with many built-ins filesystems for .NET
BSD 2-Clause "Simplified" License
806 stars 61 forks source link

Fixed ZipArchiveFileSystem and project warnings #88

Closed GerardSmit closed 1 month ago

GerardSmit commented 1 month ago

Fixes #79 Fixes #81

This PR fixes all the warnings in the Zio project. While doing so, I got motivated to fix up the ZipArchive... 😅

Before _entries was only used for case insensitive paths, now it's always filled with the key as UPath so we always know it's /. This fixed #79. For this to work I created UPathComparer with OrdinalIgnoreCase for case insensitive paths.

I've also created a method called ZipArchiveFileSystem.Save(). The only way to save the ZIP archive is to dispose the ZIP archive, so it closes and re-opens the ZIP archive when possible. This is the only way I can find how we can resolve this.

I've created a ZIP-file in Windows and Linux (WSL2) to validate if the ZipArchiveFileSystem can read both.

xoofx commented 1 month ago

Thanks!

Banane9 commented 1 month ago

Nice, when that's released I can hopefully get rid of the funny construct to use the netstandard version instead of net4.5 :D