2012-04-24 2 views
1

MeCab JavaをJavaコードからMecabに呼び出すのに成功しました。 は私が鬼を初期化するには、次のステートメントを使用します。c:\folder name\MeCabのパスパラメータでWindowsの空白文字を使用できない

tagger = new Tagger("--node-format=%f[7]\\t --unk-format=%m\\t --eos-format=\\n --rcfile=" + filePath + "/mecabrc" + " --dicdir=" + filePath + "/ipadic"); 

今私はfilePathは、例えば、空白文字を実際に含まれている可能性があるという問題に直面しています。私は、このようなパスを使用しようとすると、私はMecabからエラーが言ってもらう:

java.lang.RuntimeException: C:\src\c\common\mecab\src\main\c\tagger.cpp(151) [load_dictionary_resource(param)] C:\src\c\common\mecab\src\main\c\param.cpp(71) [ifs] no such file or directory: c:/folder 

Mecabが正しく空白を認識されていません。

どのように私はWindowsファイルパスにホワイトスキンを受け入れるように指示できますか?

答えて

3

私はMeCabソースコードを読んでいます。ソースを編集してカスタムバージョンをコンパイルすることなく、MeCabにパスの空白を受けさせる方法はありません。あなたは、少なくとも3つの回避策の選択肢があります。

  1. スペース
  2. せずに何かにディレクトリの名前を変更することも可能
  3. 使用ウィンドウ8.3形式

Here is a link to showing more information on how to get 8.3 filenames in java.

場合、相対パスを使用します
関連する問題