XZ

Compression ratio Speed Files type Options
Very good Bad Single file  

Compress

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

Decompress

val compressedFile: String = "/foo/a.txt.xz"
val destinationFolder: String = "/bar/"
val decompress: Try[DecompressionStats] = xzDecompress(compressedFile, destinationFolder)

To compress a XZ stream view streams