2009-05-10 10 views
1

Javaコードを使用してプログラムを呼び出す最も簡単な方法は何ですか? (実行したいプログラムはaiSeeで、コマンドラインやWindowsのGUIから実行できますが、私はVista上ですが、コードはLinuxシステム上でも実行されます)。Javaコード内からプログラムを実行する

答えて

7

ProcessRuntimeクラスをご覧ください。あなたが達成しようとしていることはおそらくプラットフォームに依存していないことに留意してください。 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); 
    } 
} 

One質問:ここで

は役に立つかもしれませんコードの小さな作品です類似の問題について議論する。 Anotherです。 Andもう1つ。

+0

ありがとうございます。そうですね、プラットフォームに依存しない(おそらく、2つのシステムが異なる場所にプログラムを持っている可能性があるため)ことはできません。私はそれについて何を考えていたのですか? –

0

難しいのは、アプリケーションにパスを知る方法です。あなたは、xmlまたは設定ファイルを使用したいかもしれませんが、あなたがこのリンクを使用している場合、それはファイルを実行する方法を説明しなければならない: http://www.javacoffeebreak.com/faq/faq0030.html

+0

Nathanが示唆したように、おそらくコマンドライン引数として渡しただけです。それは厄介ですが、それはする必要があります –

1

あなたはRuntime.getRuntime()を使用して、ランタイム・インスタンスを取得し、実行時のexecメソッドを呼び出すことができる、とプログラムを引数として実行するコマンド。例えば

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

また、プロセスからのInputStreamを取得使用してプログラムの出力をキャプチャすることができます。

+0

大丈夫、ありがとうございます;しかし、出力はグラフィックなので(aiSeeはGDLの説明からグラフを表示しています)、私はおそらくこれをさらに処理しません。私はそのオプションを持っていることを知って良いです –

0

実行したい特定のプログラムを簡単に見つけるために、何らかの引数をプログラムに渡すことも考えてください。

これは、コマンドライン引数、プロパティファイルまたはシステムプロパティを使用することができます。

関連する問題