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为成功)
	}

}

  

  

  

 

posted @ 2020-11-10 10:43  全心全意_运维  阅读(335)  评论(0编辑  收藏  举报