从命令行获取文本到Java

时间:2014-04-08 18:14:20

标签: java ubuntu command-line

我试图解析一些命令行命令生成的文本。我想要使​​用的命令行命令是Ubuntu的landscape-sysinfo。为了尝试运行它,我使用以下Java代码:

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(new String[] { "landscape-sysinfo" });

我不确定的是,如何将命令行命令的输出转换为我在Java应用程序中使用的字符串?

非常感谢您的宝贵见解!

1 个答案:

答案 0 :(得分:1)

希望这个有助于其学徒队列所说的

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


public class BatchExecuteService {

    public static void main(String[] args) {
        BatchExecuteService batchExecuteService = new BatchExecuteService();
        batchExecuteService.run();
    }

    public void run() {
        try {
            String cmds[] = {"D:\\test.bat"};
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec(cmds);
            process.getOutputStream().close();
            InputStream inputStream = process.getInputStream();
            InputStreamReader inputstreamreader = new InputStreamReader(inputStream);
            BufferedReader bufferedrReader = new BufferedReader(inputstreamreader);
            String strLine = "";
            while ((strLine = bufferedrReader.readLine()) != null) {
                System.out.println(strLine);
            }
        } catch (IOException ioException) {
            ioException.printStackTrace();
        }
    }
}

Reference

Output