簡體   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