繁体   English   中英

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

[英]How to call another java program using 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的新手。 需要帮忙。

您无法“执行” java类,因此发布的代码无法正常工作。

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

String s = br.readLine();

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM