LLZipLib 1.1.0
dotnet add package LLZipLib --version 1.1.0
NuGet\Install-Package LLZipLib -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LLZipLib" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LLZipLib --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LLZipLib, 1.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LLZipLib as a Cake Addin #addin nuget:?package=LLZipLib&version=1.1.0 // Install LLZipLib as a Cake Tool #tool nuget:?package=LLZipLib&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LLZipLib
Low-level Zip Library, allowing advanced tweaks (injecting/removing extra blocks, altering flags, crafting special archives). Self contained, no third party dependencies. If you just want to unzip files, this is not for you 😃
.ZIP File Format Specification: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
How to use it:
Changing file content
var zip = ZipArchive.Read(filename);
var entry = zip.Entries.FirstOrDefault(e => e.LocalFileHeader.Filename == "readme.txt");
if (entry != null)
{
entry.Data = zip.StringConverter.GetBytes("This is my new content", StringConverterContext.Content);
// this is not compressed
entry.LocalFileHeader.Compression = entry.CentralDirectoryHeader.Compression = 0;
}
zip.Write(filename);
Processing file names
var zip = ZipArchive.Read(filename);
foreach (var entry in zip.Entries)
{
entry.LocalFileHeader.Filename = "foo." + entry.LocalFileHeader.Filename;
entry.CentralDirectoryHeader.Filename = entry.LocalFileHeader.Filename;
}
zip.Write(filename);
Creating archive / adding entry
var zip = new ZipArchive();
var entry = new ZipEntry();
zip.Entries.Add(entry);
entry.LocalFileHeader.Filename = entry.CentralDirectoryHeader.Filename = "foo.txt";
entry.Data = zip.StringConverter.GetBytes("Hello world!", StringConverterContext.Content);
zip.Write("foo.zip");
Removing all data descriptors
var zip = ZipArchive.Read(filename);
foreach (var entry in zip.Entries.Where(entry => entry.HasDataDescriptor))
{
entry.LocalFileHeader.CompressedSize = entry.DataDescriptor.CompressedSize;
entry.LocalFileHeader.UncompressedSize = entry.DataDescriptor.UncompressedSize;
entry.LocalFileHeader.Crc = entry.DataDescriptor.Crc;
entry.HasDataDescriptor = false;
}
zip.Write(filename);
Removing all extra blocks
var zip = ZipArchive.Read(filename);
foreach (var entry in zip.Entries)
{
entry.LocalFileHeader.Extra = new byte[0];
entry.CentralDirectoryHeader.Extra = new byte[0];
}
zip.Write(filename);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.