黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java執(zhí)行shell腳本的方法

Java執(zhí)行shell腳本的方法

更新時間:2022-08-01 11:36:12 來源:動力節(jié)點 瀏覽6932次

動力節(jié)點小編來告訴大家Java執(zhí)行shell腳本的方法。如果你有一個 shell 腳本,比如 test.sh,那么你可以使用 RunTime 類或 ProcessBuilder 從 Java 程序運行它(注意 ProcessBuilder 是在 Java 5 中添加的)。

使用 Runtime.getRunTime().exec 執(zhí)行 shell 腳本

導入 java.io.BufferedReader;
導入 java.io.IOException;
導入 java.io.InputStreamReader;
公共類 RunningSS {
 公共靜態(tài)無效主要(字符串[]參數){
  進程 p;
  嘗試 {
   String[] cmd = { "sh", "/home/adb/Documents/test.sh"};
   p = Runtime.getRuntime().exec(cmd);
   p.waitFor();
   BufferedReader reader=new BufferedReader(new InputStreamReader(
    p.getInputStream()));
   字符串線;
   while((line = reader.readLine()) != null) {
    System.out.println(line);
   }
  } 捕捉(IOException e){
   // TODO 自動生成的 catch 塊
   e.printStackTrace();
  } 捕捉(InterruptedException e){
   // TODO 自動生成的 catch 塊
   e.printStackTrace();
  }
 }
}

使用給定的 shell 腳本執(zhí)行此 Java 程序后,如果您在 Java 程序所在的位置進行驗證,您將看到在該目錄中創(chuàng)建了一個目錄 test 和一個文件 SAMPLE。

Runtime.getRuntime().exec方法用于運行命令。

public static Runtime getRuntime() - 返回與當前 Java 應用程序關聯的運行時對象。

public Process exec(String command) throws IOException - 在單獨的進程中執(zhí)行指定的字符串命令。

與命令一起使用的cmd /c具有以下解釋 -

cmd - 啟動一個新的命令外殼

/c - 執(zhí)行給定的命令并終止

該命令的執(zhí)行返回類 Process 的實例。使用 Process 類的getInputStream()方法,可以通過讀取流來打印執(zhí)行命令的輸出。

使用 ProcessBuilder 在 Java 中執(zhí)行 shell 腳本

如果您必須使用 ProcessBuilder 運行與上述相同的命令,這是一種更清晰的方法,您可以創(chuàng)建一個包含命令和所需參數的列表,然后將其作為命令傳遞給 ProcessBuilder 實例。

導入 java.io.BufferedReader;爪哇_ 伊奧。緩沖讀取器;
導入 java.io.IOException;導入java 。伊奧。異常;
導入 java.io.InputStreamReader;導入java 。伊奧。輸入流讀取器;
導入 java.util.ArrayList;導入java 。實用程序。數組列表;
導入 java.util.List;導入java 。實用程序。列表;
公共類 RunningSS {公共類RunningSS {   
  公共靜態(tài)無效主要(字符串[]參數){公共靜態(tài)無效主要(字符串[]參數){   
    進程 p;進程p ;
    嘗試 {        試試{         
      List<String> cmdList = new ArrayList<String>();列表<字符串> cmdList = new ArrayList <字符串>();  
      // 將命令和參數添加到列表中// 將命令和參數添加到列表中
      cmdList.add("sh");. 添加(“sh” );
      cmdList.add("/home/adb/Documents/test.sh");. 添加(“/home/adb/Documents/test.sh” );
      ProcessBuilder pb = new ProcessBuilder(cmdList);ProcessBuilder pb = new ProcessBuilder ( cmdList );  
      p = pb.start();=鉛。開始();
                
      p.waitFor();. 等待(); 
      BufferedReader reader=new BufferedReader(new InputStreamReader(BufferedReader reader = new BufferedReader ( new InputStreamReader (  
       p.getInputStream()));. 獲取輸入流())); 
      字符串線;字符串線; 
      while((line = reader.readLine()) != null) {while (( line = reader . readLine ()) != null ) {    
        System.out.println(line);系統。出來。println (行);
      }} 
    } 捕捉(IOException e){}捕捉(IOException e ){   
      // TODO 自動生成的 catch 塊// TODO 自動生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    } 捕捉(InterruptedException e){}捕捉(InterruptedException e ){   
      // TODO 自動生成的 catch 塊// TODO 自動生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    }}
  }}
}}

以上就是關于“Java執(zhí)行shell腳本的方法”,如果大家對此比較感興趣,可以關注一下動力節(jié)點的Java在線學習,里面的課程內容細致全面,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 老司机免费福利视频无毒午夜 | 国产亚洲成在线播放va | 色天使久久综合给合久久97色 | 日韩一区二区三区视频在线观看 | 亚洲香蕉一区二区三区在线观看 | 秋霞午夜鲁丝片午夜精品久 | 波多野结衣手机视频一区 | 国产真实乱xxxav | 淫片免费 | 成人精品福利 | 99在线观看视频免费精品9 | 黄色片在线免费 | 日日操夜夜摸 | 波多野结衣一区二区三区88 | 中文在线日韩 | 国产毛片久久国产 | 一级毛片视频在线观看 | 欧美一二三区 | 国产一级特黄高清在线大片 | 日韩欧美视频一区二区三区 | 亚洲欧美在线看 | 2020国产欧洲精品视频 | 欧美日韩无线码免费播放 | 高清午夜看片a福利在线观看琪琪 | 五月综合色| 成人在线视频在线观看 | 九七在线视频 | 成人性动漫高清免费观看网址 | 欧美最猛同性video | 中文字幕在线观看2019 | 亚洲va欧美va国产va天堂影 | 97色偷偷 | 亚洲天堂va | 国产特黄1级毛片 | 亚洲免费午夜视频 | a三级毛片 | 成人18免费网站在线观看 | 成年人免费看片 | 97国产成人精品免费视频 | 成人影院在线免费观看 | 国产在线播放一区二区 |