※ ChatGPTを利用し、要約された質問です(原文:Runtime.getRuntime().execの使い方)
Runtime.getRuntime().execの使い方
このQ&Aのポイント
Javaプログラムを実行するだけで、コマンドプロンプトを起動させ、Mecabを動かします。
Runtime.getRuntime().execメソッドを使用することで、外部プログラムを実行することができます。
出力フォーマットを指定する方法や単体でMecabを起動させる方法についても解説します。
Runtime.getRuntime().execの使い方
Javaプログラムを実行するだけで、コマンドプロンプトを起動させ、
Mecabを動かしています。
try {
String[] command = new String[8];
command[0] = "cmd.exe";
command[1] = "/c";
command[2] = "C:\\Program Files\\mecab\\bin\\mecab.exe";
command[3] = "-F";
command[4] = "\"%m,%f[0]\"";
command[5] = "result.txt";
command[6] = ">";
command[7] = "output.txt";
process = Runtime.getRuntime().exec(command);
以下省略
上のようにすると、output.txtにうまく出力してくれません。
ちなみに、
command[3] = "-F";
command[4] = "\"%m,%f[0]\"";
の部分を省くとうまくoutput.txtに書き込まれます。
出力フォーマットを指定する方法はありますでしょうか。
またMecab単体を起動させて
mecab -F "%m,%f[0]" result.txt > output.txt …(1)
(1)のように入力するとうまくいきます。
Javaプログラムで(1)を実行させたいです。
よろしくお願いします。
お礼
command[4] = "%m,%f[0]"; を試していたつもりでしたが、もう一度試してみるとできました^^; 非常に助かりました。ありがとうございました!!