捕获cmd输出并将其包含在java列表中

捕获cmd输出并将其包含在java列表中,java,android,Java,Android,我尝试用java执行一些cmd命令,我的脚本: public void test(){ try{ Runtime rt=Runtime.getRuntime(); Process p = rt.exec("cmd /c "+"adb devices"); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while((line=input.readLine())!=nu

我尝试用java执行一些cmd命令,我的脚本:

public void test(){
try{

Runtime rt=Runtime.getRuntime();
Process p = rt.exec("cmd /c "+"adb devices");

BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));

while((line=input.readLine())!=null){

    System.out.print(line);

}

}catch(Exception e){
    System.out.println("process failed");
    }
} 
以及输出结果:

run:
List of devices attached 
0160880B0401F006    device
我如何捕捉结果的一部分:“0160880B0401F006”并将其放入gui上的列表中

谢谢,我会使用(未经测试):

如果在执行外部命令时遇到任何问题,您还应该阅读。

public void test(){
public void test(){
        try{

            Runtime rt=Runtime.getRuntime();
            Process p = rt.exec("cmd /c "+"adb devices");

            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line=input.readLine();//discard first line
            List<String> deviceList=new ArrayList<String>();
            while((line=input.readLine())!=null){
                deviceList.add(line.split(" ")[0]);
            }
            System.out.println("Device list "+deviceList);
        }catch(Exception e){
            System.out.println("process failed");
        }
    }
试一试{ Runtime rt=Runtime.getRuntime(); 进程p=rt.exec(“cmd/c”+“adb设备”); BufferedReader输入=新的BufferedReader(新的InputStreamReader(p.getInputStream()); String line=input.readLine();//放弃第一行 List deviceList=new ArrayList(); 而((line=input.readLine())!=null){ deviceList.add(行分割(“”[0]); } System.out.println(“设备列表”+设备列表); }捕获(例外e){ System.out.println(“进程失败”); } }
我尝试使用您的方法。但是它在这一行显示错误:List DeviceList=new ArrayList();错误是什么?如果与导入相关,则添加导入java.util.ArrayList;导入java.util.List;
public void test(){
        try{

            Runtime rt=Runtime.getRuntime();
            Process p = rt.exec("cmd /c "+"adb devices");

            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line=input.readLine();//discard first line
            List<String> deviceList=new ArrayList<String>();
            while((line=input.readLine())!=null){
                deviceList.add(line.split(" ")[0]);
            }
            System.out.println("Device list "+deviceList);
        }catch(Exception e){
            System.out.println("process failed");
        }
    }