2016-07-29 106 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 =無