日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Java如何調(diào)用Linux的tar命令(java調(diào)用linuxtar)

Java是一種流行的編程語(yǔ)言,被廣泛應(yīng)用于Web開發(fā)、移動(dòng)開發(fā)、嵌入式系統(tǒng)開發(fā)等領(lǐng)域。而Linux是一種流行的操作系統(tǒng),它的命令行界面為用戶提供了強(qiáng)大的控制和操作能力。本文將探討如何在Java代碼中調(diào)用Linux的tar命令,實(shí)現(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è)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

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

“`

tar [options] [file/dir]

“`

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

下面是一些常用的選項(xiàng):

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

– x:解壓歸檔文件

– v:顯示詳細(xì)的處理過(guò)程

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

– f:指定歸檔文件名

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

“`

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

“`

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

“`

tar xzvf mydir.tar.gz

“`

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

“`java

Runtime runtime = Runtime.getRuntime();

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

“`

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

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

“`java

InputStream inputStream = process.getInputStream();

OutputStream outputStream = process.getOutputStream();

“`

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

“`java

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

FileOutputStream fileOutputStream = new FileOutputStream(“mydir_new”);

“`

將以上三個(gè)流連接起來(lái),就可以實(shí)現(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ù)寫入輸出流中。

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

“`java

int exitCode = process.wtFor();

if (exitCode == 0) {

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

} else {

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

}

“`

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

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

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

linux 中怎么設(shè)置java

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

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

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

getconf LONG_BIT

3.接下來(lái)我們對(duì)下載的文件進(jìn)行解壓

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

4.然后我們來(lái)新建一個(gè)目錄,并將解壓好的文件移動(dòng)過(guò)去

mkdir /usr/java

mv ./jdk1.8.0_102 /usr/java

5.然后我們來(lái)設(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請(qǐng)根據(jù)自己的實(shí)際文件名作出更改

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

reboot

計(jì)算機(jī)重啟后我們可以在終端中輸入java來(lái)檢測(cè)是否配置成功

java

如果配置成功便會(huì)顯示提示信息

用法: java class

(執(zhí)行類)

或 java -jar jarfile

(執(zhí)行 jar 文件)

其中選項(xiàng)包括:

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

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

-server 選擇 “server” VM

默認(rèn) VM 是 server,

因?yàn)槟窃诜?wù)器類計(jì)算機(jī)上運(yùn)行。判如

-cp

-classpath

用 : 分隔的目錄, JAR 檔案

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

-D=

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

-verbose:

啟用詳細(xì)輸出

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

-version:

警告: 此功能已過(guò)時(shí), 將在

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

需要指定的版本才能運(yùn)行

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

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

警告: 此功能已過(guò)時(shí), 將在

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

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

-? -help 輸出此幫助消息

-X輸出非標(biāo)準(zhǔn)選項(xiàng)的幫助

-ea

-enableassertions

按指定的粒度啟用斷言

-da

-disableassertions

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

-esa | -enablesystemassertions

啟用系統(tǒng)斷言

-dsa | -disablesystemassertions

禁用系統(tǒng)斷言

-agentlib:

加載本機(jī)代理庫(kù) , 例如 -agentlib:hprof

另請(qǐng)參閱 -agentlib:jdwp=help 和 -agentlib:hprof=help

-agentpath:

按完整路徑名加載本機(jī)代理庫(kù)

-javaagent:

加載 Java 編程語(yǔ)言代理, 請(qǐng)參閱 java.lang.instrument

-splash:

使用指定的圖像顯示啟動(dòng)屏幕

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

1. 修改/etc/profile文件

如果你的計(jì)算機(jī)僅僅作為開發(fā)使用時(shí)推薦使用這種方法,因?yàn)樗杏脩舻膕hell都有權(quán)使用這些環(huán)境變量,可能會(huì)給系統(tǒng)帶來(lái)安全性問(wèn)題。

·用文本則友編輯器打開/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下用冒號(hào)“:”來(lái)分隔爛彎路徑

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

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

常見(jiàn)的錯(cuò)誤。

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

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

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

2. 修改.bash_profile文件

這種方法更為安全,它可以把使用這些環(huán)境變量的權(quán)限控制到用戶級(jí)別,如果你需要給某個(gè)用戶權(quán)限使用這些環(huán)境變量,你只需要修改其個(gè)人用戶主目錄下的.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è)置變量

不贊成使用這種方法,因?yàn)閾Q個(gè)shell,你的設(shè)置就無(wú)效了,因此這種方法僅僅是臨時(shí)使用,以后要使用的時(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. 測(cè)試

# 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ù)器不會(huì)重啟,或者一次性使用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、如果考慮到長(zhǎng)久使用,且機(jī)器有可能會(huì)被重啟掉,那么使用以下方法:

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

在文件末尾添加如下語(yǔ)句:

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è)運(yùn)悶置兩個(gè)地方

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

要對(duì)所有用戶生效可以編旁埋彎輯/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)

以最新的為準(zhǔn)。

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

1:對(duì)于.zip

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

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

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

2:對(duì)于.rar

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

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

# tar -xzpvf rarlinux-3.2.0.tar.gz

# cd rar

# make

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

# rar a all *.jpg

這條命令是將所有.jpg的文件壓縮成一個(gè)rar包,名為all.rar,該程序會(huì)將.rar 擴(kuò)展名將自動(dòng)附加到包名仿運(yùn)后。

# unrar e all.rar

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

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

test file.rar 實(shí)際引用的時(shí)候就是 test\ file.rar

至于怎么解決 我就不再多說(shuō)了哈

樓主試試這個(gè)代碼~~

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格式壓縮包

* 對(duì)應(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工具默認(rèn)壓縮編碼為UTF-8編碼,

而winRAR軟件壓縮是用的windows默認(rèn)的GBK或者GB2312編碼

所以解壓縮時(shí)要制定編碼格式

*/

e.setEncoding(“gbk”);

e.execute();

}catch(Exception e){

throw e;

}

}

/**

* 解壓rar格式壓縮包。

* 對(duì)應(yīng)的是java-unrar-0.3.jar,但是java-unrar-0.3.jar又會(huì)用到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ù)類型,進(jìn)行相應(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)科技公司主營(yíng):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊(cè)、網(wǎng)頁(yè)、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開發(fā)于一體。


當(dāng)前名稱:Java如何調(diào)用Linux的tar命令(java調(diào)用linuxtar)
轉(zhuǎn)載來(lái)于:http://m.5511xx.com/article/djsjgis.html