0

次のコマンドを使用して、いくつかの文字列を標準コンソールに出力する単純な Java アプリケーションを起動したとしましょう。

Runtime.getRuntime().exec("Path:/to/app.exe");

必要なのは、起動したアプリがコンソールにスローするすべてのデータを収集することです。出来ますか?ありがとう。

ポール。

4

1 に答える 1

1

ProcessBuilderを使用して、そのIutputStream. 簡単な例を次に示します。

public static void main(String[] args) throws Exception {
    String[] processArgs = new String[]{"ping","google.com"};
    Process process = new ProcessBuilder(processArgs).start();

    BufferedReader in = new BufferedReader(new InputStreamReader(
            //I'am using Win7 with PL encoding in console -> "CP852"
            process.getInputStream(), "CP852"));

    String line;
    while ((line = in.readLine()) != null)
        System.out.println(line);

    in.close();
    System.out.println("process ended");
}
于 2013-02-08T17:25:55.093 に答える