調用腳本

1背景

java雖然很強大,但是在處理一些特定的工作的時候,一些腳本語言還有有著得天獨厚的優勢,例如在linux服務器上進行一些列的部署操作,就需要調用shell腳本,亦或者我們需要進行一些科學計算,多方研究表明python有相應的第三方庫可以完成需求,并且性能不差,此時我們便有必要調用python腳本。

2舉例

我們可以使用java自帶的Runtime.getRuntime().exec()方法進行調用,先來看一個調用python腳本的例子吧。

public class InvokePyDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("please input a number: ");
        String num = scanner.next();
        Process process = null;
        /**
         * @參數1:“python”是要調用的腳本類型 
         * @參數2: “<dir>/<name>.py”是腳本具體的路徑,根據需要使用相對路徑或絕對路徑
         * @參數3:這是給腳本傳遞的第一個參數,參數數量不限
         *        python可使用sys.argv[1]接受傳入的第一個參數。以此類推
         */
        String[] args1 = new String[]{"python", "<dir>/<name>.py", num};
        try {
            process = Runtime.getRuntime().exec(args1);
            BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            process.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 運行Shell腳本有兩種方法: 1、作為可執行程序將上面的代碼保存為test.sh,并cd到相應目錄: 注意,一定...
    EnjoyWT閱讀 387評論 0 0
  • 在腳本中添加 在腳本中獲取這兩個文件中的命令,并執行。其實是起到了引用文件中定義的環境變量的作用。
    你再不來我要下雪了閱讀 558評論 0 0
  • 10月13日 周五 [擁抱]課程安排: 觀看教授視頻 第7課:楷書的名稱和演變  第8課:楷書的分類和代...
    紅光日記閱讀 289評論 0 0
  • 1、對javascript的認識: JavaScript用來制作web頁面交互效果,提升用戶體驗, 用途比較強大;...
    兔子和豬閱讀 129評論 0 0
  • 午十一、端嚴(分三科)未一、徵【云何端嚴?】這個「沙門莊嚴」這一科,分十七科。現在是第十一科「端嚴」,分三科,第一...
    德虔閱讀 227評論 0 1