JAVA で ProcessBuilder を使用すると、ls、pwd、echo などの単純なターミナル コマンドを実行できます。
public static void main(String[] args) throws Exception
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("echo 'T W O N E I G H T' | /home/saj/g2p/mosesdecoder-master/bin/moses -f /home/saj/g2p/working/binarised-model/moses.ini");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = b.readLine()) != null)
{
System.out.println(line);
}
}
このコマンドは端末から完全に機能し、実行に約 15 秒かかり、出力が得られます。stackoverflow で同様のトピックを調べましたが、何の助けも見つかりませんでした。この点で助けてください。前もって感謝します。