java 解压到内存,Java GZip 基于内存实现压缩和解压的方法
歡迎大家關注本博,同時歡迎大家評論交流,可以給個贊哦!!!
GZip是常用的無損壓縮算法實現(xiàn),在Linux中較為常見,像我們在Linux安裝軟件時,基本都是.tar.gz格式。.tar.gz格式文件需要先對目錄內文件進行tar壓縮,然后使用GZip進行壓縮。
本文針對基于磁盤的壓縮和解壓進行演示,演示只針對一層目錄結構進行,多層目錄只需遞歸操作進行即可。
Maven依賴
org.apache.commons: commons-compress: 1.19: 此依賴封裝了很多壓縮算法相關的工具類,提供的API還是相對比較底層,我們今天在它的基礎上做進一步封裝。
工具類
在實際應用中,對應不同需求,可能需要生成若干文件,然后將其壓縮。在某些應用中,文件較小、文件數(shù)量較少且較為固定,頻繁與磁盤操作,會帶來不必要的效率影響。
工具類針對.tar.gz格式提供了compressByTar、decompressByTar、compressByGZip、decompressByGZip四個方法,用于處理.tar.gz格式壓縮文件,代碼如下:
工具類測試
在Maven依賴引入正確的情況下,復制上面的代碼到項目中,修改package,可以直接使用,下面我們對工具類進行簡單測試。測試類代碼如下:
運行測試后,通過查看ram.tar.gz和控制臺輸出解壓后文件數(shù)量,可以確認工具類運行結果無誤。
總結
1) 在小文件、文件數(shù)量較小且較為固定時,提倡使用內存壓縮和解壓方式。使用內存換時間,減少頻繁的磁盤操作。
2) 在大文件、文件數(shù)量較大時,提倡使用磁盤壓縮和解壓方式。過大文件對服務會造成過度的負載,磁盤壓縮和解壓可以緩解這種壓力。《Java GZip 基于磁盤實現(xiàn)壓縮和解壓》
到此這篇關于Java GZip 基于內存實現(xiàn)壓縮和解壓的文章就介紹到這了,更多相關Java GZip 實現(xiàn)壓縮和解壓內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/securitit/article/details/108156074
總結
以上是生活随笔為你收集整理的java 解压到内存,Java GZip 基于内存实现压缩和解压的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么定义!doctype html表格
- 下一篇: 生产调度java程序原码_Rxjava的