繁体   English   中英

在Java中将缓冲的输入提供给运行时exec

[英]give buffered input to runtime exec in java

这是我在其他Java应用程序中运行Java文件的代码,但我不知道如果程序仅使用bufferedinputs怎么办?

try {

Runtime rt = Runtime.getRuntime();

// compile the java file
Process pr = rt.exec("javac Main.java");
pr.waitFor();

// run the java file
pr = rt.exec("java Main " + inputs.toString()); // using this i can give command line arguments 
pr.waitFor();
}

这是我的代码,我可以在运行时给命令行参数,但是如果我想给程序提供bufferedinput呢?

提前致谢

您声明:

这是我在其他Java应用程序中运行Java文件的代码,但我不知道如果程序仅使用bufferedinputs怎么办?

要附加到另一个流程的输入和输出流,请查看Process类API ,您将在其中找到并使用getErrorStream()getInputStream()getOutputStream()方法。 然后,您可以将输入流,输出流和错误流包装在它们各自的缓冲流中。

但是请注意,您应该警惕常见的陷阱,该文章在过时的文章《 Runtime Exec不会》中作了很好的解释。

话虽如此,您最好使用它们的Java类而不是在另一个JVM中运行它们。 您有理由不能这样做吗? 您所说的“缓冲”输入是什么意思?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM