java寫(xiě)linux命令 java代碼執(zhí)行l(wèi)inux命令

怎么用java代碼運(yùn)行l(wèi)inux命令

以下方法支持Linux和windows兩個(gè)系統(tǒng)的命令行調(diào)用。還用到了apache的lang工具包c(diǎn)ommons-lang3-3.1.jar來(lái)判斷操作系統(tǒng)類型、也用到了和log4j-1.2.16.jar來(lái)打印日志。至于rm -rf 是否能成功刪除文件,可以手動(dòng)去調(diào)用命令行試試。

主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)公司、程序開(kāi)發(fā)、微網(wǎng)站、成都小程序開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xiàng)目的能力。

private?String?callCmd(String?cmd)?throws?InterruptedException,?UnHandledOSException,?ExecuteException?{

if(SystemUtils.IS_OS_LINUX){

try?{

//?使用Runtime來(lái)執(zhí)行command,生成Process對(duì)象

Process?process?=?Runtime.getRuntime().exec(

new?String[]?{?"/bin/sh",?"-c",?cmd?});

int?exitCode?=?process.waitFor();

//?取得命令結(jié)果的輸出流

InputStream?is?=?process.getInputStream();

//?用一個(gè)讀輸出流類去讀

InputStreamReader?isr?=?new?InputStreamReader(is);

//?用緩沖器讀行

BufferedReader?br?=?new?BufferedReader(isr);

String?line?=?null;

StringBuilder?sb?=?new?StringBuilder();

while?((line?=?br.readLine())?!=?null)?{

System.out.println(line);

sb.append(line);

}

is.close();

isr.close();

br.close();

return?sb.toString();

}?catch?(java.lang.NullPointerException?e)?{

System.err.println("NullPointerException?"?+?e.getMessage());

logger.error(cmd);

}?catch?(java.io.IOException?e)?{

System.err.println("IOException?"?+?e.getMessage());

}

throw?new?ExecuteException(cmd?+?"執(zhí)行出錯(cuò)!");

}

if(SystemUtils.IS_OS_WINDOWS){

Process?process;

try?{

//process?=?new?ProcessBuilder(cmd).start();

String[]?param_array?=?cmd.split("[\\s]+");

ProcessBuilder?pb?=?new?ProcessBuilder(param_array);

process?=?pb.start();

/*process=Runtime.getRuntime().exec(cmd);*/

int?exitCode?=?process.waitFor();

InputStream?is?=?process.getInputStream();

InputStreamReader?isr?=?new?InputStreamReader(is);

BufferedReader?br?=?new?BufferedReader(isr);

String?line;

StringBuilder?sb?=?new?StringBuilder();

while?((line?=?br.readLine())?!=?null)?{

System.out.println(line);

sb.append(line);

}

is.close();

isr.close();

br.close();

return?sb.toString();

}?catch?(IOException?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

throw?new?ExecuteException(cmd?+?"執(zhí)行出錯(cuò)!");

}

throw?new?UnHandledOSException("不支持本操作系統(tǒng)");

}

java中如何執(zhí)行l(wèi)inux命令

執(zhí)行l(wèi)inux命令基,基本思路是從控制臺(tái)獲得輸入的指令,啟動(dòng)命令行執(zhí)行命令,捕捉異常,示例如下:

public?class?TestRunTime?{

public?static?void?main(String[]?args)?throws?IOException,?InterruptedException?{

String?cmd?=?"";

if(args?==?null?||?args.length?==?0){

System.out.println("請(qǐng)輸入命令行參數(shù)");

}else{

for(int?i=0;iargs.length;?i++){//獲得輸入的命令

cmd?+=?args[i]?+?"?";

}

}

try?{

Process?process?=?Runtime.getRuntime().exec(cmd);//執(zhí)行命令

InputStreamReader?ir?=?new?InputStreamReader(process.getInputStream());

LineNumberReader?input?=?new?LineNumberReader(ir);

String?line;

while?((line?=?input.readLine())?!=?null)?{//輸出結(jié)果

System.out.println(line);

}

}?catch?(java.io.IOException?e)?{

System.err.println("IOException?"?+?e.getMessage());//捕捉異常

}

}

}

java調(diào)用linux命令解壓gz

1.

將文件壓縮為 .gz 格式,只能壓縮文件:gzip ①、命令名稱:gzip ②、英文原意:GNU zip ③、命令所在路徑:/bin/gzip ④、執(zhí)行權(quán)限:所有用戶 ...

2.

將 .gz 文件解壓:gunzip

命令名稱:gunzip

名稱欄目:java寫(xiě)linux命令 java代碼執(zhí)行l(wèi)inux命令
分享URL:http://muchs.cn/article16/ddiecdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、域名注冊(cè)移動(dòng)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、ChatGPT全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)