我已成功使用MeCab Java从我的Java代码调用Mecab。 我使用以下语句初始化标记器:
tagger = new Tagger("--node-format=%f[7]\\t --unk-format=%m\\t --eos-format=\\n --rcfile=" + filePath + "/mecabrc" + " --dicdir=" + filePath + "/ipadic");
现在我遇到filePath
可能实际包含空白字符的问题,例如:c:\folder name\
。当我尝试使用这样的路径时,我从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无法正确识别空白。
任何想法如何指示Mecab接受Windows文件路径中的whitescapes?
答案 0 :(得分:3)
我阅读了MeCab源代码,没有办法让MeCab接受路径中的空白区域而不编辑源代码并编译自定义版本。您至少有三种解决方案:
Here is a link to showing more information on how to get 8.3 filenames in java.