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