簡體   English   中英

有沒有辦法在Java中gzip字節緩沖區?

[英]Is there a way to gzip a byte buffer in Java?

我有非常龐大的DirectByteBuffer ,我想從中生成一個gzip壓縮的DirectByteBuffer而不將其內容傳輸到堆中。

標准的java.util.Deflater是沒有用的,因為它在byte[]上運行,根據定義在堆上運行。

有沒有辦法在Java中這樣做? 或者我必須通過JNI直接調用libzip

從Java 11開始,有

允許將輸入和輸出指定為字節緩沖區。 當然,它的實現依賴於它是否實際上允許直接的堆外處理,但是快速瀏覽OpenJDK后發現它具有緩沖區到緩沖區處理的native方法。

從技術上講,它不是GZip,除非你也在編寫那種文件格式的工件,但我想,你主要是對壓縮而不是文件格式感興趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM