如何使用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文档: