[英]Runtime class in java
如何在Runtime.getRuntime()。exec()的帮助下执行Java程序。 例如,我们的Java文件路径为c:/java/abc.java。 请帮助我的代码。
假设abc.java包含您要执行的主要方法:
Runtime.getRuntime().exec("javac c:\java\abc.java -d c:\java\")
Runtime.getRuntime().exec("java c:\java\abc")
不要忘记:
您可能必须在执行Java命令之前设置/更新环境变量和PATH
CreateProcess:c:\\ j2sdk1.4.0 \\ bin \\ helloworld错误= 2
表示Win32的CreateProcess
在找不到您指定的命令时返回2作为错误代码; 更具体地说,当命令在其查找路径上未引用可执行文件时。
查看此SO问题以获取更完整的“ Runtime.getRuntime().exec()
”代码,以及本代码段 。
此代码创建一个外壳程序(如Runtime.getRuntime().exec("cmd /K")
),您可以在其中用sdtin
编写要执行的任何命令。
这种方法的兴趣在于重用Shell进程以从上一个命令中受益:先执行cd
,然后执行dir
,后一个命令将显示cd
命令引用的目录的内容。
在使用javac
或java
之前, PATH
设置也是如此。
您应该使用ProcessBuilder而不是运行时。 基本用法如下:
Process process = new ProcessBuilder(command).start();
您可以在上面的链接下找到更多代码。 也看到这个问题 。
String path1 = "f://" + File.separator+username+File.separator+progName;
Runtime runtime = Runtime.getRuntime();
String command = "javac -classpath " + path + " " + path1;
System.out.println(command);
Process process = runtime.exec(command);
InputStream error = process.getErrorStream();
您的意思是您希望一个Java程序运行另一个Java程序。 在这种情况下, 此SO线程可能会有所帮助。
请查看曾经被称为javaalmanac的优秀资源。
http://www.exampledepot.com/egs/java.lang/Exec.html
try {
// Execute a command with an argument that contains a space
String[] commands = new String[]{"grep", "hello world", "/tmp/f.txt"};
commands = new String[]{"grep", "hello world", "c:\\Documents and Settings\\f.txt"};
Process child = Runtime.getRuntime().exec(commands);
} catch (IOException e) {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.