在ubuntu1.6中用java调用ubuntu1.6中的程序
在ubuntu1.6中用java调用ubuntu1.6中的程序
程序在 /opt/aaa/ 文件下 程序名字叫 jsopb
程序sopb 会有一个入参和返回值
怎么使用java代码调用sopb 这个程序
给sopb 这个程序 传一个字符串 返回一个 值
回答
https://zhuanlan.zhihu.com/p/44957705
Runtime rt = Runtime.getRuntime();//获得Runtime对象
String arr[] = {"CLASSPATH=D://","Path=C:\\Program Files\\Java\\jdk1.8.0_131\\bin"};//执行exec时的环境变量
//exec方法第一个参数是执行的命令,第二个参数是环境变量,第三个参数是工作目录
Process pr = rt.exec("cmd /c javac a.java && java a", arr, new File("D://"));
//获取输出流并转换成缓冲区
BufferedWriter bout = new BufferedWriter(new OutputStreamWriter(pr.getOutputStream()));
bout.write("1 2");//输出数据
bout.close();//关闭流