我尝试在eclipse的Android应用程序中使用OpenNLP,并将4个JAR导入libs文件夹。
这可能是一个愚蠢的问题..但我应该把模型文件放在哪里" en-pos-maxent.bin"?我找不到任何关于路径的信息
我尝试运行代码包含这一行:
POSModel model = new POSModelLoader()
.load(new File("en-pos-maxent.bin"));
我尝试将en-pos-maxent.bin放在项目中的新文件夹中(" tagger / en-pos-maxent.bin"),在libs文件夹中,或者只是给出路径在下载时放置en-pos-maxent.bin(" Users / ariel / Downloads / en-pos-maxent.bin"),它总是给我错误:POS Tagger模型文件不存在路径:(我输入的路径)
有人可以帮忙吗?
答案 0 :(得分:1)
当您使用new File("filename")
时,该文件应位于当前工作目录中,我不认为Android上的文件有所不同。您可以使用System.getProperty("user.dir")
获取当前工作目录。默认情况下,它是您启动程序的目录。您也可以指定new File("/full/path/filename")
之类的完整路径。
答案 1 :(得分:1)
在android中,将文件添加到应用程序(在APK中)的正确方法是放入assets
文件夹。然后,您无法从assets文件夹中获取File
对象,但是,您可以使用缓冲区创建该文件,或者只是将其放入InputStream
。例如,如果您要在models
文件夹(assets
)中创建assets/models
文件夹,那么您的代码将如下所示:
AssetManager am = getAssets();
InputStream inputStream = am.open("models/en-pos-maxent.bin");
POSModel posModel = new POSModel(inputStream);