5

CシャープコードからJarファイルを実行し、jarから戻り値を取得したいだけです。出来ますか?

もしそうなら、サンプルコードを教えてください。

私は次のことを試しました、

            string path = "C:\\Documents and Settings\\Desktop";
            Process process = new Process();
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
            process.StartInfo.CreateNoWindow = false;
            process.StartInfo.FileName = "C:\\Program Files\\Java\\jre6\\bin\\java.exe";
            process.StartInfo.Arguments = "-jar \"" + path + "\\simple.jar\"";
            process.Start();
            String s = process.StandardOutput.ReadToEnd();

ここで simple.jar には、引数を受け取り、渡された引数をコンソールに出力する main メソッドがあります。それ以外の場合は、コンソールに引数を出力しません。この行(String s = process.StandardOutput.ReadToEnd();)で上記のコードを試して、コンソールの値を読み取ることができました。

しかし、jarに値を渡してメソッドを実行したいのですが、メソッドはハッシュマップ(コレクション)値を返します(可能かどうかはわかりません)。これについての提案をお願いします。

4

2 に答える 2

7

コマンド ラインで jar ファイルを実行するには、java.exe -jar <jar_name>.

ここを見て、コマンド ライン プログラムを実行し、その出力を で取得する方法を確認してくださいC#

于 2013-01-23T09:13:02.670 に答える