从Java代码中运行程序

从Java代码中运行程序,java,runtime.exec,external-process,Java,Runtime.exec,External Process,用一段Java代码从中调用程序的最简单方法是什么?(我想运行的程序是aiSee,它可以从命令行或Windows GUI运行;我在Vista上,但代码也将在Linux系统上运行)。看一下和类。请记住,您试图完成的可能不是独立于平台的 下面是一段可能有用的代码: public class YourClass { public static void main(String args[]) throws Exception { Runtime rt = R

用一段Java代码从中调用程序的最简单方法是什么?(我想运行的程序是aiSee,它可以从命令行或Windows GUI运行;我在Vista上,但代码也将在Linux系统上运行)。

看一下和类。请记住,您试图完成的可能不是独立于平台的

下面是一段可能有用的代码:

public class YourClass
{
    public static void main(String args[])
       throws Exception
    {
        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec("name_of_your_application.exe");
        int exitVal = proc.exitValue();
        System.out.println("Process exitValue: " + exitVal);
    }
}
S.O.中的问题,讨论类似问题。一个。另一个。

看一看和课程。请记住,您试图完成的可能不是独立于平台的

下面是一段可能有用的代码:

public class YourClass
{
    public static void main(String args[])
       throws Exception
    {
        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec("name_of_your_application.exe");
        int exitVal = proc.exitValue();
        System.out.println("Process exitValue: " + exitVal);
    }
}

S.O.中的问题,讨论类似问题。一个。另一个。

您将遇到的困难是如何让应用程序知道路径。您可能希望使用xml或配置文件,但如果使用此链接,则应说明如何运行文件:
您将遇到的困难是如何让应用程序知道路径。您可能希望使用xml或配置文件,但如果使用此链接,则应说明如何运行文件:

您可以使用
runtime.getRuntime()
获取运行时实例,并调用运行时的
exec
方法,将执行程序的命令作为参数

例如:

Runtime runTime = Runtime.getRuntime ();       
Process proc = rt.exec("iSee.exe");

您还可以使用从进程获取InputStream来捕获程序的输出。

您可以使用
runtime.getRuntime()
获取运行时实例,并调用运行时的
exec
方法,使用命令将程序作为参数执行

例如:

Runtime runTime = Runtime.getRuntime ();       
Process proc = rt.exec("iSee.exe");

你也可以通过从进程中获取输入流来捕获程序的输出。

你也可以考虑将某种参数传递给你的程序,以便于找到你想运行的特定程序。


<>这可能是命令行参数、属性文件或系统属性。

您可能还想考虑将某种参数传递给程序,以便于找到要运行的特定程序。


这可能与命令行参数、属性文件或系统属性有关。

好的,非常感谢。是的,你是对的:它不可能是平台独立的(因为这两个系统可能在不同的地方有程序)。我在想什么?好的,非常感谢。是的,你是对的:它不可能是平台独立的(因为这两个系统可能在不同的地方有程序)。我是怎么想的?好的,谢谢你;尽管如此,由于输出是图形化的(aiSee显示GDL描述中的图形),我可能不会进一步处理它;但是很高兴知道我有这个选择Kay,谢谢你;尽管如此,由于输出是图形化的(aiSee显示GDL描述中的图形),我可能不会进一步处理它;但很高兴知道,正如Nathan所建议的,optionI可能只是作为命令行arg通过了。这很尴尬,但必须这么做。正如Nathan所建议的,我可能只是作为命令行arg通过了。这很尴尬,但必须这样做