Java プログラム内から実行可能ファイルと perl スクリプトを実行しようとしています。これに似た多くのトピックを見つけましたが、それらのほとんどはウィンドウに言及しています。Java がプラットフォームに依存しないことは知っていますが、とにかく動作するはずですが、動作しません。私がすでに試した解決策は、Java ランタイムに基づくものであり、それは exec メソッドです。Windowsでは問題なく動作しますが、プログラムをLinuxに移植しているため、適応させる必要があります。私が言ったように、私がコンパイルして c++ で書かれた実行可能ファイルを実行する必要があります。そして、それがLinuxでも同様のはずです(?!?!)。一方、パールスクリプトはまったく起動しません。コマンド「perl script.pl」を使用します
これらのファイルを実行する別の方法を知っている人はいますか? それとも、実装のどこが間違っているのでしょうか?
見たい場合のコードは次のとおりです。これはperlスクリプトのコードです
public static void main(String[] args){
System.out.println("Starting");
try{
String[] cmd = {"perl", "cloc-1.53.pl"};
Process pr = Runtime.getRuntime().exec(cmd);
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exit code: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
コンパイルされたファイルの場合、これを変更します。
String[] cmd = {"perl", "cloc-1.53.pl"};
と:
String cmd = "./UCC";