我想通過Java和CLI gzip命令通過GZIP比較運行字符串的輸出。輸出結果不一樣,我找出了原因,但不知道如何讓他們互相傾訴。可以將OS X gzip配置爲與Java GZIPOutputStream匹配嗎?
我讀過很多關於SO的問題,閱讀過gzip的手冊頁,以及GZIPOutputStream和DeflaterOutputStream的代碼。 GZIPOutputStream的默認壓縮級別(通過Deflator設置)爲「-1」,關於這意味着什麼沒有解釋。此外,gzip CLI僅允許1和9之間的值(包括1和9)。
那麼有沒有一種方法可以在Java或gzip命令中更改壓縮設置,以使它們產生相同的輸出?
您是否試過將Java中的默認壓縮級別更改爲另一個像這樣的? OutputStream gzipout = new GZIPOutputStream(bos){{def.setLevel(Deflater.BEST_COMPRESSION);}};可能匹配gzip --best(或-9) –
@MarkSetchell這是一個有趣的想法,但是這將在構造器完成它的其他操作之後設置其級別,此時其他操作已經設置了默認壓縮,等等。 –