下面的代码(执行时)会提示用户输入任意java类名来执行。
import java.io.*;
public class exec {
public static void main(String argv[]) {
try {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.println("Enter the java class name");
String s=br.readLine();
Process pro=Runtime.getRuntime().exec(s);
BufferedReader in=new BufferedReader(new InputStreamReader(pro.getInputStream()));
String line=null;
while((line=in.readLine())!=null) {
System.out.println(line);
}
in.close();
} catch(Exception err) {
err.printStackTrace();
}
}
如果我使用命令提示符并且我能够执行另一个 java 程序,则此代码可以正常工作。但是我无法使用 eclipse 执行相同的操作。输入 java 类名后没有输出或错误出现。
我是 eclipse 的新手。需要帮助。
最佳答案
您无法“执行”Java 类,因此您发布的代码无法运行。
相反,您需要执行“java”并将类路径和类名作为参数传递给它,如下所示:
String s = br.readLine();
String[] cmd = {"java", "-cp", "/some/path/to/your/jar/file", s};
Process pro = Runtime.getRuntime().exec(cmd);
关于java - 如何使用eclipse调用另一个java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812978/