[英]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.