av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Java如何調(diào)用Linux的tar命令(java調(diào)用linuxtar)

Java是一種流行的編程語言,被廣泛應(yīng)用于Web開發(fā)、移動開發(fā)、嵌入式系統(tǒng)開發(fā)等領(lǐng)域。而Linux是一種流行的操作系統(tǒng),它的命令行界面為用戶提供了強大的控制和操作能力。本文將探討如何在Java代碼中調(diào)用Linux的tar命令,實現(xiàn)文件的壓縮和解壓縮功能。

成都創(chuàng)新互聯(lián)專注于東風(fēng)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。東風(fēng)網(wǎng)站建設(shè)公司,為東風(fēng)等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

我們需要了解一下Linux的tar命令。tar命令是一個用于歸檔和壓縮文件的命令行工具,它的用法如下:

“`

tar [options] [file/dir]

“`

其中,options是一些可選的選項,用于控制tar命令的行為,file/dir是要被處理的文件或目錄。

下面是一些常用的選項:

– c:創(chuàng)建歸檔文件

– x:解壓歸檔文件

– v:顯示詳細的處理過程

– z:使用gzip壓縮/解壓縮

– f:指定歸檔文件名

例如,要將目錄/home/user/mydir壓縮成一個歸檔文件mydir.tar.gz,可以使用以下命令:

“`

tar czvf mydir.tar.gz /home/user/mydir

“`

要將歸檔文件mydir.tar.gz解壓縮到當(dāng)前目錄下,可以使用以下命令:

“`

tar xzvf mydir.tar.gz

“`

接下來,我們將使用Java代碼調(diào)用Linux的tar命令,實現(xiàn)文件的壓縮和解壓縮功能。我們需要使用Java的Runtime類創(chuàng)建一個進程來執(zhí)行Linux的tar命令。代碼如下:

“`java

Runtime runtime = Runtime.getRuntime();

Process process = runtime.exec(“tar czvf mydir.tar.gz /home/user/mydir”);

“`

這里我們使用了tar命令的-czvf選項,將目錄/home/user/mydir壓縮成mydir.tar.gz文件。

接下來,我們可以使用Java的InputStream和OutputStream將進程的輸出和輸入流連接起來,實現(xiàn)Java程序與進程之間的通信。代碼如下:

“`java

InputStream inputStream = process.getInputStream();

OutputStream outputStream = process.getOutputStream();

“`

在壓縮和解壓縮過程中,我們需要讀取和寫入文件數(shù)據(jù)。Java語言提供了FileInputStream和FileOutputStream兩個類,可以用于訪問文件的輸入和輸出流。代碼如下:

“`java

FileInputStream fileInputStream = new FileInputStream(“mydir.tar.gz”);

FileOutputStream fileOutputStream = new FileOutputStream(“mydir_new”);

“`

將以上三個流連接起來,就可以實現(xiàn)文件的壓縮和解壓縮功能。代碼如下:

“`java

int count = 0;

byte[] buffer = new byte[1024];

while ((count = inputStream.read(buffer)) != -1) {

outputStream.write(buffer, 0, count);

}

“`

在這里,我們將輸入流的數(shù)據(jù)讀取到緩沖區(qū)中,然后將緩沖區(qū)的數(shù)據(jù)寫入輸出流中。

我們需要等待進程執(zhí)行完畢,然后檢查執(zhí)行結(jié)果。代碼如下:

“`java

int exitCode = process.wtFor();

if (exitCode == 0) {

System.out.println(“執(zhí)行成功”);

} else {

System.out.println(“執(zhí)行失敗,退出碼為:” + exitCode);

}

“`

在這里,我們使用Process的wtFor方法等待進程執(zhí)行完畢,并返回進程的退出碼。如果退出碼為0,說明執(zhí)行成功;否則說明執(zhí)行失敗。

以上代碼片段演示了如何使用Java調(diào)用Linux的tar命令實現(xiàn)文件的壓縮和解壓縮功能。讀者可以根據(jù)自己的需要進行修改和擴展。需要注意的是,由于Linux的tar命令是基于命令行界面的,因此在使用時需要了解Linux的命令行界面和基本操作,否則可能會出現(xiàn)一些問題。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220

linux 中怎么設(shè)置java

1.首先要去下載好JDK,Java SE 8的官方網(wǎng)址是

根據(jù)自己的系統(tǒng)版本來選擇是要使用32位版還是64位版。Linux提供了兩種安裝方式一個是.rpm,另一個是.tar.gz,我所使用的是.tar.gz。在下載前不要忘了選擇Accept License Agreement。

2.可以使用下面的命令來查看自己的系統(tǒng)是32位還是64位

getconf LONG_BIT

3.接下來我們對下載的文件進行解壓

tar -zxvf jdk-8u102-linux-x64.tar.gz

4.然后我們來新建一個目錄,并將解壓好的文件移動過去

mkdir /usr/java

mv ./jdk1.8.0_102 /usr/java

5.然后我們來設(shè)置環(huán)境變量,這里我們需要修改/etc/profile文件

先用vim打開/etc/profile文件

vim /etc/profile

6.在文件最后添加下面的內(nèi)容

JAVA_HOME=/usr/java/jdk1.8.0_102

export JRE_HOME=/usr/java/jdk1.8.0_102/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

其中的jdk1.8.0_102請根據(jù)自己的實際文件名作出更改

添加完成后,保存并退出。最后一步便是重啟計算機。

reboot

計算機重啟后我們可以在終端中輸入java來檢測是否配置成功

java

如果配置成功便會顯示提示信息

用法: java class

(執(zhí)行類)

或 java -jar jarfile

(執(zhí)行 jar 文件)

其中選項包括:

-d32 使用 32 位數(shù)據(jù)模型 (如果可用)

-d64 使用 64 位數(shù)據(jù)模型 (如果可用)

-server 選擇 “server” VM

默認 VM 是 server,

因為您是在服務(wù)器類計算機上運行。判如

-cp

-classpath

用 : 分隔的目錄, JAR 檔案

和 ZIP 檔案列表, 用于搜索類文件。

-D=

設(shè)置系統(tǒng)屬性

-verbose:

啟用詳細輸出

-version 輸出產(chǎn)品版本并退出

-version:

警告: 此功能已過時, 將在

未來發(fā)行版中刪除。

需要指定的版本才能運行

-showversion 輸出產(chǎn)品版本并繼續(xù)

-jre-restrict-search | -no-jre-restrict-search

警告: 此功能已過時, 將在

未來發(fā)行版中刪除。

在版本搜索中包括/排除用戶專用 JRE

-? -help 輸出此幫助消息

-X輸出非標準選項的幫助

-ea

-enableassertions

按指定的粒度啟用斷言

-da

-disableassertions

禁用具有猛拆指定粒度的斷言

-esa | -enablesystemassertions

啟用系統(tǒng)斷言

-dsa | -disablesystemassertions

禁用系統(tǒng)斷言

-agentlib:

加載本機代理庫 , 例如 -agentlib:hprof

另請參閱 -agentlib:jdwp=help 和 -agentlib:hprof=help

-agentpath:

按完整路徑名加載本機代理庫

-javaagent:

加載 Java 編程語言代理, 請參閱 java.lang.instrument

-splash:

使用指定的圖像顯示啟動屏幕

三種配置環(huán)境變量的方法

1. 修改/etc/profile文件

如果你的計算機僅僅作為開發(fā)使用時推薦使用這種方法,因為所有用戶的shell都有權(quán)使用這些環(huán)境變量,可能會給系統(tǒng)帶來安全性問題。

·用文本則友編輯器打開/etc/profile

·在profile文件末尾加入:

export JAVA_HOME=/usr/share/jdk1.6.0_14

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

·重新登錄或執(zhí)行 sudo source /etc/profile

·注解

a. 假設(shè)你要將 /usr/share/jdk1.6.0_14改為你的jdk安裝目錄

b. linux下用冒號“:”來分隔爛彎路徑

c. $PATH / $CLASSPATH / $JAVA_HOME 是用來引用原來的環(huán)境變量的值

在設(shè)置環(huán)境變量時特別要注意不能把原來的值給覆蓋掉了,這是一種

常見的錯誤。

d. CLASSPATH中當(dāng)前目錄“.”不能丟,把當(dāng)前目錄丟掉也是常見的錯誤。

e. export是把這三個變量導(dǎo)出為全局變量。

f. 大小寫必須嚴格區(qū)分。

2. 修改.bash_profile文件

這種方法更為安全,它可以把使用這些環(huán)境變量的權(quán)限控制到用戶級別,如果你需要給某個用戶權(quán)限使用這些環(huán)境變量,你只需要修改其個人用戶主目錄下的.bash_profile文件就可以了。

·用文本編輯器打開用戶目錄下的.bash_profile文件

·在.bash_profile文件末尾加入:

export JAVA_HOME=/usr/share/jdk1.6.0_14

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

·重新登錄或執(zhí)行source ~/.bash_profile

3. 直接在shell下設(shè)置變量

不贊成使用這種方法,因為換個shell,你的設(shè)置就無效了,因此這種方法僅僅是臨時使用,以后要使用的時候又要重新設(shè)置,比較麻煩。

只需在shell終端執(zhí)行下列命令:

export JAVA_HOME=/usr/share/jdk1.6.0_14

export PATH=$JAVA_HOME/bin:$PATH

export 饑盯悶CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

Linux下Java安裝與配置

以JDK1.6.0_43為例介紹一下如何在linux中設(shè)置java

1. 下載銷頃jdk-6u43-linux-x64.bin,

增加可執(zhí)行權(quán)伍斗旦限 chmod +x jdk-6u43-linux-x64.bin,

執(zhí)行 ./jdk-6u43-linux-x64.bin 生成目錄jdk1.6.0_43

拷貝到/usr/share下,mv jdk1.6.0_43 /usr/share

另外,jdk-6u43-linux-x64.bin將所有文件解壓縮到當(dāng)前目錄的腔擾jdk$verison_$update目錄,

jdk-6u43-linux-x64-rpm.bin解壓縮生成rpm包,用rpm -ivh命令安裝

2. 配置環(huán)境變量

在/etc/profile下增加

# set Java environment

JAVA_HOME=/usr/share/jdk1.6.0_43

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

3. 測試

# echo $JAVA_HOME

/usr/share/jdk1.6.0_43

# echo $PATH

/usr/share/jdk1.6.0_43/bin:/usr/lib64/qt-3.3/bin:/usr/local/in:/usr/local/bin:/in:/bin:/usr/in:/usr/bin:/root/bin

# echo $CLASSPATH

.:/usr/share/jdk1.6.0_43/lib/dt.jar:/usr/share/jdk1.6.0_43/lib/tools.jar

# java -version

java version “1.6.0_43”

Java(TM) SE Runtime Environment (build 1.6.0_43-b01)

Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)

1、如果你的linux服務(wù)器不會重啟,或者一次性使用java,可以直接在shell內(nèi)依次輸辯啟入一下幾條命令:

 export JAVA_HOME=/usr/share/jdk1.8.0_71

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、如果考慮到長久使用,且機器有可能會被重啟掉,那么使用以下方法:

 打開/etc/profile(用vi或簡灶含者其他你自己攔笑喜歡的文本編輯器)

在文件末尾添加如下語句:

JAVA_HOME=/usr/java/default

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

linux上安裝java后主要需要設(shè)運悶置兩個地方

JAVA_HOME, apt/yum安裝的jdk通常在/usr/lib/jvm下, 如/usr/lib/jvm/java-8-openjdk-amd64, mvn之類的工具依賴JAVA_HOME環(huán)境變量

PATH, 需要確保$JAVA_HOME/bin在PATH中

配置文件修改, 通??梢孕薷膥/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/bin:$PATH

要對所有用戶生效可以編旁埋彎輯/etc/profile.d/java.sh, 添加

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/bin:$PATH

在LINUX下 用JAVA如何解壓rar文件

下載地址:

(目前最新為RAR 3.71 for Linux)

以最新的為準。

對于Window下的常見壓縮文件.zip和.rar,Linux也嫌罩有相應(yīng)的方法來解壓它們:

1:對于.zip

linux下提供了zip和unzip程序,zip是壓縮程芹大鬧序,unzip是解壓程序。它們的參數(shù)選項很多,這里只做簡單介紹,舉例說明一下其用法:

# zip all.zip *.jpg(這條命令是將所有.jpg的文件壓縮成一個zip包)

# unzip all.zip(這條命令是將all.zip中的所有文件解壓出來)

2:對于.rar

要在linux下處理.rar文件,需要安裝RAR for Linux,可以從網(wǎng)上下載,但要記住,RAR for Linux不是免費的;可從

下載RAR 3。60 for Linux ,然后安裝其安裝操作如下:

# tar -xzpvf rarlinux-3.2.0.tar.gz

# cd rar

# make

這樣就安裝好了,安裝后就有了rar和unrar這兩個程序,rar是壓縮程序,unrar是解壓程序。它們的參數(shù)選項很多,舉例說明一下其用法

# rar a all *.jpg

這條命令是將所有.jpg的文件壓縮成一個rar包,名為all.rar,該程序會將.rar 擴展名將自動附加到包名仿運后。

# unrar e all.rar

這條命令是將all.rar中的所有文件解壓出來。

linux下的文件名引用的時候空格要加轉(zhuǎn)義 比如

test file.rar 實際引用的時候就是 test\ file.rar

至于怎么解決 我就不再多說了哈

樓主試試這個代碼~~

package decompress;

import java.io.File;

import java.io.FileOutputStream;

import org.apache.tools.ant.Project;

import org.apache.tools.ant.taskdefs.Expand;

import de.innosystec.unrar.Archive;

import de.innosystec.unrar.rarfile.FileHeader;

public class DeCompressUtil {

/昌閉讓**

* 解壓zip格式壓縮包

* 對應(yīng)的是ant.jar

*/

private static void unzip(String sourceZip,String destDir) throws Exception{

try{

Project p = new Project();

Expand e = new Expand();

e.setProject(p);

e.setSrc(new File(sourceZip));

e.setOverwrite(false);

e.setDest(new File(destDir));

/態(tài)山*

ant下的zip工具默認壓縮編碼為UTF-8編碼,

而winRAR軟件壓縮是用的windows默認的GBK或者GB2312編碼

所以解壓縮時要制定編碼格式

*/

e.setEncoding(“gbk”);

e.execute();

}catch(Exception e){

throw e;

}

}

/**

* 解壓rar格式壓縮包。

* 對應(yīng)的是java-unrar-0.3.jar,但是java-unrar-0.3.jar又會用到commons-logging-1.1.1.jar

*/

private static void unrar(String sourceRar,String destDir) throws Exception{

Archive a = null;

FileOutputStream fos = null;

try{

a = new Archive(new File(sourceRar));

FileHeader fh = a.nextFileHeader();

while(fh!=null){

if(!fh.isDirectory()){

//1 根據(jù)不同的操作系耐局統(tǒng)拿到相應(yīng)的 destDirName 和 destFileName

String compressFileName = fh.getFileNameString().trim();

String destFileName = “”;

String destDirName = “”;

//非windows系統(tǒng)

if(File.separator.equals(“/”)){

destFileName = destDir + compressFileName.replaceAll(“\\\\”, “/”);

destDirName = destFileName.substring(0, destFileName.lastIndexOf(“/”));

//windows系統(tǒng)

}else{

destFileName = destDir + compressFileName.replaceAll(“/”, “\\\\”);

destDirName = destFileName.substring(0, destFileName.lastIndexOf(“\\”));

}

//2創(chuàng)建文件夾

File dir = new File(destDirName);

if(!dir.exists()||!dir.isDirectory()){

dir.mkdirs();

}

//3解壓縮文件

fos = new FileOutputStream(new File(destFileName));

a.extractFile(fh, fos);

fos.close();

fos = null;

}

fh = a.nextFileHeader();

}

a.close();

a = null;

}catch(Exception e){

throw e;

}finally{

if(fos!=null){

try{fos.close();fos=null;}catch(Exception e){e.printStackTrace();}

}

if(a!=null){

try{a.close();a=null;}catch(Exception e){e.printStackTrace();}

}

}

}

/**

* 解壓縮

*/

public static void deCompress(String sourceFile,String destDir) throws Exception{

//保證文件夾路徑最后是”/”或者”\”

char lastChar = destDir.charAt(destDir.length()-1);

if(lastChar!=’/’&&lastChar!=’\\’){

destDir += File.separator;

}

//根據(jù)類型,進行相應(yīng)的解壓縮

String type = sourceFile.substring(sourceFile.lastIndexOf(“.”)+1);

if(type.equals(“zip”)){

DeCompressUtil.unzip(sourceFile, destDir);

}else if(type.equals(“rar”)){

DeCompressUtil.unrar(sourceFile, destDir);

}else{

throw new Exception(“只支持zip和rar格式的壓縮包!”);

}

}

}

將帆鋒linux當(dāng)前環(huán)境設(shè)置為中文環(huán)境即可。山埋

修改/態(tài)唯晌etc/sysconfig/i18n 文件

LANG=”zh_CN.GB2312″

關(guān)于java 調(diào)用 linux tar的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計,網(wǎng)站、軟件、微信、小程序開發(fā)于一體。


名稱欄目:Java如何調(diào)用Linux的tar命令(java調(diào)用linuxtar)
網(wǎng)站路徑:http://uogjgqi.cn/article/djsjgis.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流