All Projects â†’ Meniny â†’ Zipper

Meniny / Zipper

Licence: mit
🗳A library to create, read and modify ZIP archive files, written in Swift.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Zipper

Libzip
A C library for reading, creating, and modifying zip archives.
Stars: ✭ 379 (+897.37%)
Mutual labels:  zip, archive, compression
box
Box - Open Standard Archive Format, a zip killer.
Stars: ✭ 38 (+0%)
Mutual labels:  compression, zip, archive
Singlefilez
Web Extension for Firefox/Chrome/MS Edge and CLI tool to save a faithful copy of an entire web page in a self-extracting HTML/ZIP polyglot file
Stars: ✭ 882 (+2221.05%)
Mutual labels:  zip, archive
ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (+471.05%)
Mutual labels:  compression, zip
Gulp Zip
ZIP compress files
Stars: ✭ 262 (+589.47%)
Mutual labels:  zip, compression
Perfect-Zip
Perfect Zip compression utility.
Stars: ✭ 20 (-47.37%)
Mutual labels:  compression, zip
zip-bucket
zips files in a Google Cloud Storage [tm] bucket
Stars: ✭ 32 (-15.79%)
Mutual labels:  compression, zip
lzbase62
LZ77(LZSS) based compression algorithm in base62 for JavaScript.
Stars: ✭ 38 (+0%)
Mutual labels:  compression, zip
VszLib
7-zip VB6 Helper
Stars: ✭ 35 (-7.89%)
Mutual labels:  compression, zip
Kodexplorer
A web based file manager,web IDE / browser based code editor
Stars: ✭ 5,490 (+14347.37%)
Mutual labels:  zip, archive
Zip
A portable, simple zip library written in C
Stars: ✭ 596 (+1468.42%)
Mutual labels:  zip, compression
unzip
Tiny unzip helper class for .NET 3.5 Client Profile and Mono 2.10, written in pure C#.
Stars: ✭ 25 (-34.21%)
Mutual labels:  compression, zip
zipit
Decentralized or self-hosted encryption archives that work on any internet device.
Stars: ✭ 14 (-63.16%)
Mutual labels:  zip, archive
kirby-backup-widget
Kirby panel widget to easily backup your site content.
Stars: ✭ 25 (-34.21%)
Mutual labels:  zip, archive
Minizip Ng
Fork of the popular zip manipulation library found in the zlib distribution.
Stars: ✭ 750 (+1873.68%)
Mutual labels:  zip, compression
rc-zip
Pure rust zip & zip64 reading and writing
Stars: ✭ 93 (+144.74%)
Mutual labels:  compression, zip
go7z
A native Go 7z archive reader.
Stars: ✭ 46 (+21.05%)
Mutual labels:  compression, archive
qlZipInfo
MacOSX QuickLook Generator for zip, jar, tar, tar.gz (.tgz), tar.bz2 (.tbz2/.tbz), tar.Z. xar (.xar, .pkg), debian (.deb), RedHat Package Manager (.rpm), 7zip (.7z), xz, Microsoft cabinet (.cab), gzip (.gz), lha, BinHex 4.0 (.hqx), and Stuffit (.sit) archives, and ISO9660 images
Stars: ✭ 47 (+23.68%)
Mutual labels:  compression, zip
Php Zip
PhpZip is a php-library for extended work with ZIP-archives.
Stars: ✭ 336 (+784.21%)
Mutual labels:  zip, archive
Leanify
lightweight lossless file minifier/optimizer
Stars: ✭ 694 (+1726.32%)
Mutual labels:  zip, compression

:name: Zipper :author: Elias Abel :author_esc: Elias%20Abel :mail: [email protected] :desc: a Effortless ZIP Handling in Swift :icon: {name}.png :version: 1.2.0 :na: N/A :ios: 9.0 :macos: 10.11 :watchos: 2.0 :tvos: 9.0 :linux: with zlib :xcode: 10.2 :swift: 5 :license: MIT :sep: %20%7C%20 :platform: iOS{sep}macOS{sep}watchOS{sep}tvOS{sep}Linux = Meet {name} {author} <{mail}> v{version}, 2019-04-16

[subs="attributes"] ++++

{name}

Author EMail MIT
Version Platforms Swift
Build Passing Cocoapods Carthage SPM

++++

:toc:

== 🏵 Introduction

{name} is {desc}.

== 📋 Requirements

[%header] |=== 2+^m|Type 1+^m|Requirement

1.5+^.^|Platform ^|iOS ^|{ios}+ ^|macOS ^|{macos} ^|tvOS ^|{tvos} ^|watchOS ^|{watchos} ^|Linux ^|{linux}

^|IDE ^|Xcode ^| {xcode}+ ^|Language ^|Swift ^| {swift}+ |===

== 📲 Installation

=== CocoaPods

{name} is available on link:https://cocoapods.org[CocoaPods].

[source, ruby, subs="verbatim,attributes"]

use_frameworks! pod '{name}'

=== Manually

Copy all files in the {name} directory into your project.

== 🛌 Dependency

{na}

== ❤️ Contribution

You are welcome to fork and submit pull requests.

== 🔖 License

{name} is open-sourced software, licensed under the link:./LICENSE.md[{license}] license.

== 🔫 Usage

[source, swift, subs="verbatim,attributes"]

import {name}

let fileManager = FileManager() let currentDirectoryURL = URL(fileURLWithPath: fileManager.currentDirectoryPath)

=== Zipping

[source, swift, subs="verbatim,attributes"]

var archiveURL = currentDirectoryURL.appendPathComponent("archive.zip") var resourcesURL = currentDirectoryURL.appendPathComponent("directory") // zip: do { try fileManager.zip(item: resourcesURL, to: archive) } catch _ {} // or: guard let archive = Zipper(url: archiveURL, accessMode: .create) else { return } do { try archive.zip(item: resourcesURL) } catch {

}

=== Unzipping

[source, swift, subs="verbatim,attributes"]

var archiveURL = currentDirectoryURL.appendPathComponent("archive.zip") var destinationURL = currentDirectoryURL.appendPathComponent("directory") // unzip: do { try fileManager.createDirectory(at: destinationURL, withIntermediateDirectories: true, attributes: nil) try fileManager.unzip(item: archiveURL, to: destinationURL) } catch {

} // or: guard let archive = Zipper(url: archiveURL, accessMode: .read) else { return } do { try archive.unzip(to: destinationURL) } catch {

}

=== Accessing individual Entries

[source, swift, subs="verbatim,attributes"]

var archiveURL = currentDirectoryURL.appendPathComponent("archive.zip") guard let archive = Zipper(url: archiveURL, accessMode: .read) else { return } guard let entry = archive["file.txt"] else { return } var destinationURL = currentDirectoryURL.appendPathComponent("output.txt")

do { try archive.extract(entry, to: destinationURL) } catch {

}

=== Adding/Removing Entries

[source, swift, subs="verbatim,attributes"]

var archiveURL = currentDirectoryURL.appendPathComponent("archive.zip") var fileURL = currentDirectoryURL.appendPathComponent("file.ext")

==== Adding:

[source, swift, subs="verbatim,attributes"]

guard let archive = Zipper(url: archiveURL, accessMode: .update) else { return } do { try archive.addEntry(with: fileURL.lastPathComponent, relativeTo: fileURL.deletingLastPathComponent()) } catch {

}

==== Removing:

[source, swift, subs="verbatim,attributes"]

guard let entry = archive["file.txt"] else { return } do { try archive.remove(entry) } catch {

}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].