我正在开发一个swing gui应用程序,我想在其中执行一些cmd命令并在jTextArea中显示它们的输出,我还想在jTextField中输入程序执行期间询问的值。 Plase提供了一些代码,可以帮助我实现目标。
答案 0 :(得分:0)
这段代码应该让您开始从java执行cmd命令并捕获它们的输出:
import java.io.InputStream;
public class CmdProxy {
public static void main(String [] args) {
try {
Process proc = Runtime.getRuntime().exec("cmd /C \"dir \\ \"");
InputStream is = proc.getInputStream();
// NOTE: this is not the most elegant way to extract content from the
// input stream
int i = -1;
StringBuilder buf = new StringBuilder();
while ((i = is.read()) != -1) {
buf.append((char)i);
}
proc.waitFor();
System.out.println(buf.toString());
} catch (Throwable t) {
t.printStackTrace();
}
}
}
在沙盒中尝试一下,看看会发生什么。请注意,/ C选项确保cmd进程在处理完我们传递的命令参数(在本例中为“dir \”)后终止。在你的情况下,你想执行“cmd / C \”“+ whateverUserSpecified +”\“”。显然,我假设你正在编程/为Window的环境编程。我会让你或其他人弄清楚GUI代码。