Bzip2

Compression ratio Speed Files type Options
Very good Medium Single file  

Compress

val fileToCompress: String = "/a/b/foo.txt"
val destinationFolder: String = "/a/b/"
val compress: Try[CompressionStats] = bzip2Compress(fileToCompress, destinationFolder)

Decompress

val compressedFile: String = "/a/a.bz2"
val destinationFolder: String = "/bar/"
val decompress: Try[DecompressionStats] = bzip2Decompress(compressedFile, destinationFolder)

To compress a BZ2 stream view streams