みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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)を実行させたいです。

よろしくお願いします。

投稿日時 - 2006-11-17 02:42:47

QNo.2544567

困ってます

質問者が選んだベストアンサー

私は Mecab というプログラムを使ったことはないのですが、
 command[4] = "\"%m,%f[0]\"";
このダブルクオートは省いて
 command[4] = "%m,%f[0]";
でよいのではないでしょうか。
試してみてください。

投稿日時 - 2006-11-17 23:49:43

お礼

command[4] = "%m,%f[0]";
を試していたつもりでしたが、もう一度試してみるとできました^^;

非常に助かりました。ありがとうございました!!

投稿日時 - 2006-11-18 01:16:07

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問