さて、私はさまざまな方法を試しましたが、成功しませんでした。カスタム exe を実行し、出力を取得したいと考えています。コマンドプロンプトからは正常に実行されます。「dir」は正常に動作しますが、custom.exe は動作しません。コードは次のとおりです。
List<String> command = new ArrayList<String>();
command.add("cmd"); // Even removed these two lines
command.add("/c"); // aka hail mary coding.
//command.add("dir");
command.add("custom.exe"); // even tried "c://custom.exe"
String line;
Process p = new ProcessBuilder(command).start();
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
出力がまったく得られません。バッチファイルに配置すると、出力が得られます。%PATH% と何か関係があるような気がします。それに戻って...
編集-->このカスタムexeからの出力がエラーになることが判明したので、何が起こっているのかを確認するために、コードがあります:
List<String> command = new ArrayList<String>();
command.add(System.getenv("ProgramFiles(x86)") + "\\mydir\\custom.exe";
String line;
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process p = pb.start();
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
そして、それは熱いくそったれのように機能します。:)