56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# com.unity.sharp-zip-lib
|
|
|
|
`com.unity.sharp-zip-lib` is a package that wraps [SharpZipLib](https://github.com/icsharpcode/SharpZipLib) to be used inside Unity,
|
|
and provides various compression/uncompression utility functions.
|
|
|
|
Currently, this package uses [SharpZipLib v1.3.3](https://github.com/icsharpcode/SharpZipLib/releases/tag/v1.3.3).
|
|
Please refer to the [installation](Installation.md) page to install this package.
|
|
|
|
> The version numbering of this package itself and the version of SharpZipLib used in the package may look similar,
|
|
but they are not related.
|
|
|
|
|
|
## How to Use
|
|
|
|
* All [SharpZipLib](https://github.com/icsharpcode/SharpZipLib) APIs are available under `Unity.SharpZipLib` namespace. For example:
|
|
```csharp
|
|
using System.IO;
|
|
using Unity.SharpZipLib.GZip;
|
|
|
|
...
|
|
|
|
public void UseSharpZipLibAPIs() {
|
|
MemoryStream ms = new MemoryStream();
|
|
GZipOutputStream outStream = new GZipOutputStream(ms);
|
|
...
|
|
}
|
|
```
|
|
|
|
Please refer to the API documentation of the [SharpZipLib](https://github.com/icsharpcode/SharpZipLib) version used
|
|
in this package for more details.
|
|
|
|
* In addition, `com.unity.sharp-zip-lib` also provides additional utility APIs:
|
|
* `ZipUtility.CompressFolderToZip()`: Creates a zip file on disk containing the contents of the nominated folder.
|
|
* `ZipUtility.UncompressFromZip()`: Uncompress the contents of a zip file into the specified folder.
|
|
|
|
As an example:
|
|
```csharp
|
|
static void CompressAndUncompress() {
|
|
//Compress
|
|
string folderToCompress = "Assets";
|
|
string zipPath = Path.Combine(Application.temporaryCachePath, "UnityAssets.zip");
|
|
ZipUtility.CompressFolderToZip(zipPath,null, folderToCompress);
|
|
Debug.Log($"{folderToCompress} folder compressed to: " + zipPath);
|
|
|
|
//Uncompress
|
|
string extractPath = Path.Combine(Application.temporaryCachePath, "UnityAssetsExtracted");
|
|
ZipUtility.UncompressFromZip(zipPath, null, extractPath);
|
|
Debug.Log($"Uncompressed to: " + extractPath);
|
|
}
|
|
```
|
|
|
|
|
|
## Supported Unity Versions
|
|
|
|
* Unity `2021.3.45` or higher.
|