如何使用java执行从文件中获取输入的c可执行文件?

如何使用java执行从文件中获取输入的c可执行文件?,java,c,executable,Java,C,Executable,这就是我正在做的: Runtime rt = Runtime.getRuntime(); Process proc = rt.exec("./Hello" + " < in.txt"); Runtime rt=Runtime.getRuntime(); processproc=rt.exec(“./Hello”+”

这就是我正在做的:

Runtime rt = Runtime.getRuntime();

Process proc = rt.exec("./Hello" + " < in.txt");
Runtime rt=Runtime.getRuntime();
processproc=rt.exec(“./Hello”+”

它从文件中获取输入并在标准输出上打印。但这并没有被执行。如何实现此操作?

尝试分别传递每个参数,而不是将整个命令组合在一个字符串中:

String[] cmd = {"./Hello","<","in.txt"};

 Runtime rt = Runtime.getRuntime();
 Process proc = rt.exec(cmd);

String[]cmd={“/Hello”,“我的理解是,您希望从执行的命令中获取输出。当调用
Runtime.exec(“”)
Java设置其单独的IO流来读取和写入执行的命令

如果要将命令的结果打印到命令行,则可以执行以下操作:

public class Test {


    public static void main(String[] args) throws IOException
    {
        int read;
        byte[] buffer = new byte[1024];
        Process p = Runtime.getRuntime().exec("echo HELLO-THERE");
        InputStream is = p.getInputStream();
        while (is.available() > 0) {
            read = is.read(buffer);
            System.out.println(new String(buffer, 0, read, "UTF-8"));
        }
    }
}
这就产生了:

HELLO-THERE
通常,在这种情况下,最好阅读java文档: