0

すでにコンパイルおよび実行されている Java コードから C コードを実行しようとしていますが、実行可能ファイルから出力が得られません。このタスクを完了するのを手伝ってくれる人はいますか?

コードは次のとおりです。

public class Test {
    public static void main(String args[]) {
        try {
            Process processCompile = Runtime.getRuntime().exec("e:/Sample.exe");
        } catch(Exception ex) {
            ex.printStackTrace();
        }
    }
}
4

2 に答える 2

5

これを試して:

BufferedReader stdInput = new BufferedReader(new 
     InputStreamReader(processCompile .getInputStream()));


// read the output from the command
System.out.println("EXE OUTPUT");
while ((s = stdInput.readLine()) != null) {
    System.out.println(s);
}
于 2013-05-18T06:40:56.303 に答える
0

この方法は、java プログラムを管理者権限で実行する場合にのみ機能します。

特権がある場合は、「cmd」シェル (Java プロセスによってフォークされる) でプロセスを実行してみてください。実装は、これがここで行われる "LinuxInteractor" (ただし、Linux にあります)。Windows版への移植に必要なマイナーチェンジのみ。

Linuxのjvm内からハードおよびソフトオープンファイル制限を見つける(ulimit -nおよびulimit -Hn)

于 2013-05-18T06:39:12.420 に答える