2016-07-29 272 views
0

将巨大的CSV文件提供给LZ4压缩API的最佳方式是什么?以下对于非常大的文件不是最佳的。Java中的LZ4文件压缩

byte[] data = file.getBytes(); 
+0

基于http://jpountz.github.io/lz4-java/1.2.0/docs/net/jpountz/lz4/LZ4FastDecompressor.html,我不认为你可以。你绝对需要LZ4压缩吗?我会考虑[gzip压缩](http://docs.oracle.com/javase/8/docs/api/java/util/zip/GZIPInputStream.html)。 – VGR

+0

gzip对我所需要的方式比较慢 - 它给我提供了大约50-75 MB/s的压缩速度。必须有一种方法来使用lz4的inputstream? – zostale

+0

您将不得不查看构成单个LZ4可压缩单元的字节数,并从InputStream一次处理多个字节......假设LZ4甚至有这样的概念。 – VGR

回答

0

您可以尝试https://github.com/flanglet/kanzi。块压缩器采用InputStream并将其拆分成块(您可以在命令行中指定大小)。

从维基,你可以做这样的事情:

java命令kanzi.jar kanzi.app.BlockCompressor - 输入= myFile.csv -output = myFile.knz -overwrite - 块= 8M -transform = lz4 -entropy =无