Java 执行cmd程序,并获取命令行内容

java中的RunTime类,每个java程序都有一个RunTme的运行实例,能够使运行程序与其运行的环境相连接。Process 类能够创建本地进程,也可以通过RunTime的实例exec()方法创建。Process 的 getInputStream() 会获取窗体命令执行的结果,可以把它转化成字符串进行输出。下面是具体的实现代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;


public class TestCmd {
    public static void main(String[] args) {
        String cmdStr = "adb devices";
        Runtime run = Runtime.getRuntime();
        try {
            Process process = run.exec(cmdStr);
            InputStream in = process.getInputStream();
            InputStreamReader reader = new InputStreamReader(in);
            BufferedReader br = new BufferedReader(reader);
            StringBuffer sb = new StringBuffer();
            String message;
            while((message = br.readLine()) != null) {
                sb.append(message);
            }
            System.out.println(sb);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

这里使用了BufferedReader进行输入,因为BufferedReader 有读取一行的方法,处理字符串比较方便。

你可能感兴趣的:(Java学习)