Android Tesseract traineddata路径

Android Tesseract traineddata路径,android,tesseract,tess-two,Android,Tesseract,Tess Two,我正在尝试在我的android应用程序中使用tesseract ocr。当我尝试初始化()时,我得到了IllegalArgumentException,因为在此文件夹中没有“tessdata”目录!这是我的项目结构 这里我使用了InputStream和cacheDir: private String getDirPath() { File f = new File(getCacheDir()+"/tessdata/"); if (!f.exists()) try {

我正在尝试在我的android应用程序中使用tesseract ocr。当我尝试初始化()时,我得到了IllegalArgumentException,因为在此文件夹中没有“tessdata”目录!这是我的项目结构

这里我使用了InputStream和cacheDir:

private String getDirPath() {
    File f = new File(getCacheDir()+"/tessdata/");
    if (!f.exists()) try {

        InputStream is = getAssets().open("tessdata/eng.traineddata");
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();


        FileOutputStream fos = new FileOutputStream(f);
        fos.write(buffer);
        fos.close();
    } catch (Exception e) { Log.e("error", e.toString()); }
    Log.i("wtf", f.getPath());
    return getCacheDir();
}
要初始化Tesseract,我必须传递两个参数-指向dir的路径,其中包含目录“tessdata”,第二个参数是traineddata。
有什么想法吗?

你的资产路径是

 Uri path = Uri.parse("file:///android_asset/")
 String dataPath = path.toString();

你不能以这种方式引用应用程序的原始资产文件。请尝试改用。

您添加了“读取文件”权限吗?是的,我在开头添加了这些文件。很抱歉,我的回答太晚了。我使用了这个代码,但得到了相同的异常​.在这里!我用另一种方式编辑了我的文章,你编辑了你的文章,使它成为一个完全不同的问题。请不要那样做。