Java调用CMD命令
Java调用CMD命令
制作人:全心全意
示例代码如下:
package com.zq.jpy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ret { public static void main(String[] args) throws IOException, InterruptedException { String[] arg = new String[] { "python", "E:\\way.py", "111" }; // 执行cmd命令 Process p = Runtime.getRuntime().exec(arg); // Process p = Runtime.getRuntime().exec("python E:\\way.py 111"); // 获取命令的输出流 // 这里使用了BufferedReader进行输入,因为BufferedReader 有读取一行的方法,处理字符串比较方便 BufferedReader out = new BufferedReader( new InputStreamReader(p.getInputStream(), "GBK")); String outline = null; while ((outline = out.readLine()) != null) { System.out.println(outline); } //// 获取命令的错误输出流 BufferedReader err = new BufferedReader( new InputStreamReader(p.getErrorStream(), "GBK")); String errline = null; while ((errline = err.readLine()) != null) { System.out.println(errline); } // 导致当前线程等待,如有必要,一直要等到由该 Process // 对象表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程,根据惯例,0 表示正常终止 p.waitFor(); System.out.println("状态值为:" + p.exitValue()); // 输出命令的返回值(执行状态,0为成功) } }