Snappy-Java - Compress and Decompress Files

Q

How to Compress and Decompress Files with Snappy-Java?

✍: FYIcenter.com

A

If you want to compress or decompress files with Snappy-Java, you can write 2 Java programs as shown in this tutorial.

The first program compresses a given file, CompressFIle.java:

// CompressFIle.java
// Copyright (c) FYIcenter.com

import org.xerial.snappy.Snappy;
import java.nio.file.*;

public class CompressFIle {
  public static void main(String[] args) throws Exception {
    Path input = Paths.get(args[0]);
    byte[] uncompressed = Files.readAllBytes(input);

    byte[] compressed = Snappy.compress(uncompressed);

    Path output = Paths.get(args[1]);
    Files.write(output, compressed);
  }
}

The second program compresses a given file, DecompressFIle.java:

// DecompressFile.java
// Copyright (c) FYIcenter.com

import org.xerial.snappy.Snappy;
import java.nio.file.*;

public class DecompressFile {
  public static void main(String[] args) throws Exception {
    Path input = Paths.get(args[0]);
    byte[] compressed = Files.readAllBytes(input);

    byte[] uncompressed = Snappy.uncompress(compressed);

    Path output = Paths.get(args[1]);
    Files.write(output, uncompressed);
  }
}

Here is how to compress a file:

fyicenter$ java -cp snappy-java-1.1.8.4.jar CompressFile.java \
  HelloSnappy.java HelloSnappy.java.spz

fyicenter$ ls -l HelloSnappy.* 
  551 Jul 10 13:42 HelloSnappy.java
  404 Jul 10 14:48 HelloSnappy.java.spz

Here is how to decompress a file:

fyicenter$ java -cp snappy-java-1.1.8.4.jar DecompressFile.java \
  HelloSnappy.java.spz HelloSnappy.java.txt

fyicenter$ ls -l HelloSnappy.* 
  551 Jul 10 13:42 HelloSnappy.java
  404 Jul 10 14:48 HelloSnappy.java.spz
  551 Jul 10 14:51 HelloSnappy.java.txt

 

⇒ Snappy-Java - Compresser and Decompresser

⇐ org.xerial.snappy.Snappy Example

⇑ Using Snappy-Java Library

⇑⇑ Snappy-Java - Compresser and Decompresser

2021-07-13, 407👍, 0💬