1. 程式人生 > >java調Python指令碼(一)

java調Python指令碼(一)

java通過runtime.getruntime().exec()調Python指令碼,這是其中的一種方試,也是比較常用的方式。

1、Python指令碼:


# -*- coding:utf-8 -*-
"""
@author:ailo55
@file:add.py
@time:2018/9/26 13:58
"""

if __name__ == '__main__':

    print("java 調Python指令碼,成功了!")

 

2、java程式程式碼:

public static void main(String[] args) {
		try {
			System.out.println("run start....");
			//陣列的第一個引數Python命令,第二是Python指令碼檔案的絕對路徑
			String[] args1 = new String[] { "python", "C:\\fintel\\pytools\\add.py"};
			Process pr = Runtime.getRuntime().exec(args1);//執行指令碼命令
			BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
			String line;
			
			while ((line = in.readLine()) != null) {
				System.out.println(line);
			}
			in.close();
			pr.waitFor();
			System.out.println("run end....");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

3、執行結果,Python用print()將結果列印返回:

已經可以成功通過java調Python的指令碼了,但是發現了一個問題,那就是返回的結果是亂碼了!!!應該是java和Python指令碼那邊編碼格式有出入了,下一節《java調Python指令碼(二)》進一步完善!