All Projects → saracen → go7z

saracen / go7z

Licence: MIT license
A native Go 7z archive reader.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go7z

ZeeArchiver
Zee is an efficient and simple to use Android Archiver and decompressor. It can decompress and compress from-to all the formats supported by the well known 7zip utility. Copyright © 2018 Mahmoud Galal , for support contact me:[email protected]
Stars: ✭ 35 (-23.91%)
Mutual labels:  archive, 7z, 7zip
Archive7z
This library provides handling of 7z files in PHP
Stars: ✭ 73 (+58.7%)
Mutual labels:  archive, 7z, 7zip
7 Zip Zstd
7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard
Stars: ✭ 2,150 (+4573.91%)
Mutual labels:  7z, 7zip, lzma2
PLzmaSDK
PLzmaSDK is (Portable, Patched, Package, cross-P-latform) Lzma SDK.
Stars: ✭ 28 (-39.13%)
Mutual labels:  compression, 7zip, lzma2
SevenZipSharp
Fork of SevenZipSharp on CodePlex
Stars: ✭ 171 (+271.74%)
Mutual labels:  compression, 7z, 7zip
rbzip2
bzip2 for Ruby
Stars: ✭ 39 (-15.22%)
Mutual labels:  compression, bzip2
ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (+371.74%)
Mutual labels:  compression, bzip2
box
Box - Open Standard Archive Format, a zip killer.
Stars: ✭ 38 (-17.39%)
Mutual labels:  compression, archive
pyrus-cramjam
Thin Python wrapper to de/compression algorithms in Rust - lightweight & no dependencies
Stars: ✭ 40 (-13.04%)
Mutual labels:  compression, bzip2
Libzip
A C library for reading, creating, and modifying zip archives.
Stars: ✭ 379 (+723.91%)
Mutual labels:  compression, archive
Zipper
🗳A library to create, read and modify ZIP archive files, written in Swift.
Stars: ✭ 38 (-17.39%)
Mutual labels:  compression, archive
ZRA
ZStandard Random Access (ZRA) allows random access inside an archive compressed using ZStandard
Stars: ✭ 21 (-54.35%)
Mutual labels:  compression, archive
bzip2-rs
Pure Rust bzip2 decoder
Stars: ✭ 28 (-39.13%)
Mutual labels:  compression, bzip2
Junrar
Plain Java unrar library
Stars: ✭ 142 (+208.7%)
Mutual labels:  compression, archive
Ob3vil1on
Another archive cracker created in python | cracking [zip/7z/rar] by bruteforcing [ NOT MAINTAINED ]
Stars: ✭ 17 (-63.04%)
Mutual labels:  archive, 7z
zstd-rs
zstd-decoder in pure rust
Stars: ✭ 148 (+221.74%)
Mutual labels:  compression
compbench
⌛ Benchmark and visualization of various compression algorithms
Stars: ✭ 21 (-54.35%)
Mutual labels:  compression
ZstdKit
An Objective-C and Swift library for Zstd (Zstandard) compression and decompression.
Stars: ✭ 22 (-52.17%)
Mutual labels:  compression
laravel-Packer
CSS, Javascript and Images packer/processors to Laravel
Stars: ✭ 57 (+23.91%)
Mutual labels:  compression
lossyless
Generic image compressor for machine learning. Pytorch code for our paper "Lossy compression for lossless prediction".
Stars: ✭ 81 (+76.09%)
Mutual labels:  compression

go7z

A native Go 7z archive reader.

Features:

  • Development in early stages.
  • Very little tests.
  • Medium probability of crashes.
  • Medium probability of using all memory.
  • Decompresses:

Usage

Extracting an archive:

package main

import (
	"io"
	"os"

	"github.com/saracen/go7z"
)

func main() {
	sz, err := go7z.OpenReader("hello.7z")
	if err != nil {
		panic(err)
	}
	defer sz.Close()

	for {
		hdr, err := sz.Next()
		if err == io.EOF {
			break // End of archive
		}
		if err != nil {
			panic(err)
		}

		// If empty stream (no contents) and isn't specifically an empty file...
		// then it's a directory.
		if hdr.IsEmptyStream && !hdr.IsEmptyFile {
			if err := os.MkdirAll(hdr.Name, os.ModePerm); err != nil {
				panic(err)
			}
			continue
		}

		// Create file
		f, err := os.Create(hdr.Name)
		if err != nil {
			panic(err)
		}
		defer f.Close()

		if _, err := io.Copy(f, sz); err != nil {
			panic(err)
		}
	}
}
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].