proton_archive 2.0.15 copy "proton_archive: ^2.0.15" to clipboard
proton_archive: ^2.0.15 copied to clipboard

Provides encoders and decoders for various archive and compression formats such as zip, tar, bzip2, gzip, and zlib.

example/example.dart

import 'dart:io';
import 'package:proton_archive/proton_archive.dart';
import 'package:proton_archive/archive_io.dart';

void main() {
  // Read the Zip file from disk.
  final bytes = File('test.zip').readAsBytesSync();

  // Decode the Zip file
  final archive = ZipDecoder().decodeBytes(bytes);

  // Extract the contents of the Zip archive to disk.
  for (final file in archive) {
    final filename = file.name;
    if (file.isFile) {
      final data = file.content as List<int>;
      File('out/' + filename)
        ..createSync(recursive: true)
        ..writeAsBytesSync(data);
    } else {
      Directory('out/' + filename)
        ..create(recursive: true);
    }
  }

  // Encode the archive as a BZip2 compressed Tar file.
  final tar_data = TarEncoder().encode(archive);
  final tar_bz2 = BZip2Encoder().encode(tar_data);

  // Write the compressed tar file to disk.
  final fp = File('test.tbz');
  fp.writeAsBytesSync(tar_bz2);

  // Zip a directory to out.zip using the zipDirectory convenience method
  var encoder = ZipFileEncoder();
  encoder.zipDirectory(Directory('out'), filename: 'out.zip');

  // Manually create a zip of a directory and individual files.
  encoder.create('out2.zip');
  encoder.addDirectory(Directory('out'));
  encoder.addFile(File('test.zip'));
  encoder.close();
}
1
likes
20
points
46
downloads

Publisher

unverified uploader

Weekly Downloads

Provides encoders and decoders for various archive and compression formats such as zip, tar, bzip2, gzip, and zlib.

Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

args, crypto, path

More

Packages that depend on proton_archive