Java 및 CLI gzip 명령 모두에서 GZIP를 통해 실행중인 문자열의 출력을 비교하려고합니다. 출력은 동일하지 않으며, 왜 그런지 알아 냈습니다. 그러나 서로를 서로 격동시키는 방법을 모릅니다.OS X gzip을 Java GZIPOutputStream과 일치하도록 구성 할 수 있습니까?
나는 많은 질문을 읽고, gzip의 매뉴얼 페이지를 읽고, GZIPOutputStream과 DeflaterOutputStream의 코드를 읽었다. Deflator를 통해 설정된 GZIPOutputStream의 기본 압축 수준은 "-1"이며 그 의미에 대해서는 거의 설명하지 않습니다. 또한 gzip CLI는 1과 9 사이의 값만 허용합니다.
Java 또는 gzip 명령에서 압축 설정을 변경하여 동일한 출력을 생성 할 수있는 방법이 있습니까?
Java의 기본 압축 수준을 이와 같이 변경하려고 시도해 보셨습니까? OutputStream gzipout = new GZIPOutputStream (보스) {{def.setLevel (Deflater.BEST_COMPRESSION);}}; 아마도 gzip --best (또는 -9)와 일치 할 것입니다. –
@MarkSetchell 흥미로운 생각이지만, 생성자가 다른 작업을 완료 한 후 레벨을 설정할 것입니다.이 시점에서 이미 기본 압축을 설정하고 헤더를 작성하고, –