Java プログラムから開始したい大きな perl スクリプトがあります。私はすべての可能性についてウェブ上で広範囲に検索しましたが、それ以上は役に立ちませんでした。
コマンドライン Perl スクリプトを開始するための次の Java スクリプトを作成しました。
try {
String[] command = {"perl", "C:\\Users\\Rick\\Documents\\Perl\\InDelSub_finder_v0.2.0.pl"};//System.getProperty("user.dir")+"\\src\\InDelSub_finder_v0.2.0.pl", "-h"};
String[] comm = {"-h"};
System.out.println(Arrays.toString(command));
System.out.println(Arrays.toString(comm));
Process p = Runtime.getRuntime().exec(command, comm);
p.waitFor();
try{
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine())!=null){
System.out.println(line);
}
}catch(IOException e2){
e2.printStackTrace();
}
System.out.println("exitValue = " + p.waitFor());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
私は と を使ってString[]
にString
与えようとしましたexec()
が、結局どちらもうまくいきませんでしたexitValue() = 255
。また、適切なファイルにアクセスするために複数の方法を試してみましたが (コメントのセクションでわかるように)、これは間違っているわけではありません。何らかの理由でプログラムを開くことができないことに関係していると思います。
誰でもこれで私を助けてもらえますか? 私はこれで本当に迷っており、仕事を続けるために必要です。
どうぞよろしくお願いいたします。