如何使用eclipse调用另一个java程序

时间:2011-10-18 20:03:40

标签: java eclipse

以下代码(执行时)会提示用户输入要执行的任何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的新手。需要帮助。

2 个答案:

答案 0 :(得分:3)

您无法“执行”java类,因此您发布的代码无效。

相反,你需要执行“java”并将类路径和类名作为参数传递给它,如下所示:

String s = br.readLine();

String[] cmd = {"java", "-cp", "/some/path/to/your/jar/file", s};

Process pro = Runtime.getRuntime().exec(cmd);

答案 1 :(得分:0)

您只需输入班级名称,还是也输入程序所在的目录?我认为它在eclipse中不起作用,因为你需要指定文件的位置......比如C:\ Users \ Me \ workspace \ ProjectName \ src \ filename