1. java解壓zip或者tar.gz壓縮包,如何獲得被壓縮文件的
使用Java處理ZIP和TGZ壓縮包涉及ZipInputStream、ZipOutputStream和ZipFile類。當項目需要上傳或下載ZIP包時,開發者通常會利用這些類進行操作。
在基礎概念層面,壓縮文件的生成涉及讀取一個文件夾內容,創建ZipEntry並將其放入ZipOutputStream。然後,通過InputStream讀取源文件內容,將其寫入ZipOutputStream。這種流程形成了壓縮文件的創建。
解壓過程涉及一個特殊的File類,稱為ZipFile。使用Enumeration類可以讀取壓縮文件夾中的文件。解壓文件的過程開始於讀取壓縮文件夾中的文件,生成InputStream後將其寫入解壓輸出流。此操作實現了文件的解壓縮。
總結來說,本文介紹了Java中壓縮文件的壓縮與解壓方式,提供了相關類的使用方法。希望對讀者在項目開發中處理文件壓縮與解壓問題有所幫助。如果本文對您有幫助,請給予支持。
2. ubuntu命令行安裝java方法linux安裝java18詳細教程
導引今天在家想搞搞Linux,就安裝配置Ubuntu了,並安裝配置了Java和開發套件軟體,用到了寫常用命令,尤其是幾個常用壓縮和解壓的命令,記錄一下備忘:
.tar 文件
# 僅打包,並非壓縮
tar -xvf FileName.tar # 解包
tar -cvf FileName.tar DirName # 將DirName和其下所有文件(夾)打包
.gz文件
# .gz
gunzip FileName.gz # 解壓1
gzip -d FileName.gz # 解壓2
gzip FileName # 壓縮,只能壓縮文件
.tar.gz文件、 .tgz文件
# .tar.gz 和 .tgz
tar -zxvf FileName.tar.gz # 解壓
tar -zcvf FileName.tar.gz DirName # 將DirName和其下所有文件(夾)壓縮
tar -C DesDirName -zxvf FileName.tar.gz # 解壓到目標路徑
.zip文件
# 感覺.zip佔用空間比.tar.gz大
unzip FileName.zip # 解壓
zip FileName.zip DirName # 將DirName本身壓縮
zip -r FileName.zip DirName # 壓縮,遞歸處理,將指定目錄下的所有文件和子目錄一並壓縮
.rar文件
# mac和linux並沒有自帶rar,需要去下載
rar x FileName.rar # 解壓
rar a FileName.rar DirName # 壓縮
.tar是打包,.tar.gz才是壓縮過的文件,.tar.gz常見於unix系統,在ubuntu或macos可以直接解壓,而.zip常見於windows系統,進一步說
zip和.tar.gz的文件有什麼區別?
「tar.gz壓縮格式用於unix的操作系統,而zip用於windows的操作系統,但在windows系統中用WinRar工具同樣可以解壓縮tar.gz格式的。
zip流行於windows系統上的壓縮文件(其他系統也可以打開)。zip格式開放而且免費。zip支持分卷壓縮,128/256-bit AES加密演算法等功能。zip的含義是速度,其目標就是為頂替ARC而誕生的「職業」壓縮軟體。tar是「tape archive」(磁帶存檔)的簡稱,它出現在還沒有軟盤驅動器、硬碟和光碟驅動器的計算機早期階段,隨著時間的推移, tar命令逐漸變為一個將很多文件進行存檔的工具,目前許多用於Linux操作系統的程序就是打包為tar檔案文件的形式。 在Linux裡面,tar一般和其他沒有文件管理的壓縮演算法文件結合使用,用tar打包整個文件目錄結構成一個文件,再用gz,bzip等壓縮演算法壓縮成一次。也是Linux常見的壓縮歸檔的處理方法。
Java配置安裝
系統版本:Ubuntu18.04
JDK版本:jdk-8u241-linux-i586.tar.gz
一、卸載OpenJDK
如果系統實現安裝了OpenJDK,可先卸載OpenJDK。
//查看是否安裝OpenJDK
java -version
//卸載OpenJDK
sudo apt-get purge openjdk/openjdk*
sudo apt-get clean/autoclean
二、下載JAVA JDK
在oracle官網上下載jdk-8u241-linux-i586.tar.gz
(註:ubuntu是基於debian開發的,centos是基於redhat開發的,所以ubuntu可以使用deb結尾的包,而centos使用rpm結尾的包,故在此我們不下載rpm結尾的包。)
三、解壓並更換目錄
在存放jdk-8u241-linux-i586.tar.gz的目錄下進行解壓
tar -zxvf jdk-8u241-linux-i586.tar.gz
便於管理,創建目錄java,
sudo mkdir /opt/java
sudo mv ./jdk1.8.0_241 /opt/Java
說明:
保險起見,為當前用戶賦予目錄相關許可權,即更改文件所有者,命令如下:
sudo chown system_username /location_of_files_or_folders
或許還有修改所屬群組,用改變文件或目錄的所屬組命令:chgrp
四、配置環境變數
sudo vim /etc/environment //vim、vi、gedit作用相同這個系統級的
在打開的文件中添加:
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME=/opt/Java
保存,退出。在命令行中輸入以下命令使環境變數立即生效
source /etc/environment
接著配置所有用戶的環境變數
sudo vim /etc/profile
在打開的界面添加
#set Java environment
export JAVA_HOME=/opt/Java/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:JAVA_HOME/lib:JRE_HOME/lib:${CLASSPATH}
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使Java環境立即生效:
source /etc/profile
四、查看是否安裝成功
命令行輸入:
java -version
看到java版本信息了,包含「java version "1.8.0_241" 」等,自己試試吧
鑒於有些文檔設置的是~/.bashrc文件,所以查閱了一下有關文檔:
執行順序 /etc/environment -> /etc/profile -> /etc/bashrc -> ~/profile -> ~/.bashrc 後面設置的會覆蓋前面的設置。
3. Java壓縮技術 - tar.bz2解壓縮
本文將通過解壓tar.bz2文件來講解Java的解壓操作,對於從網路上下載的源碼包中常見的tar.bz2格式,本文提供了解決方案。tar.bz2文件由bzip2壓縮工具具有高壓縮率的壓縮而成。
壓縮與解壓命令在Linux中非常常見,壓縮命令使用`bzip2`,解壓命令使用`bzip2 -d`。對於Java開發者,解壓tar.bz2文件需要藉助`TarInputStream`和`BZip2CompressorInputStream`這兩個類。
在准備階段,我們需要在項目依賴中添加以下內容:
為了解壓tar.bz2文件,首先需要創建一個目錄。在目錄下,使用`JarInputStream`類解壓縮tar.bz2文件。具體步驟如下:
解壓完成後,tar.bz2文件中的內容將被解壓並存儲在指定目錄下。通過上述步驟,Java開發者能夠輕松實現tar.bz2文件的解壓操作。對於更多Java相關技術,讀者可自行探索。
4. java里怎麼解壓tar.gz文件啊,網上好多例子都不行
最後怎麼解決的,我現在也遇到這個問題了,單個文件可以解壓可以壓縮,寫入的測試內容也在,換成文件夾就不行了。能找到的案例全都是解壓成文件,但是本身是個文件夾的GZ包解壓了以後也打不開。