在android中获取assets文件夹的数据路径

时间:2015-02-20 14:09:30

标签: android

我正在尝试将Tesseract集成到android中。所以我必须通过调用baseApi.init(DATA_PATH,lang)来训练带有训练数据的tesseract。 DATA_PATH是traineddata.lang文件的路径,该文件将被置于assests文件夹中,然后放入字符串格式的tessdata文件夹中。但是我无法找到一种方法来重复执行此错误。

  

02-20 19:26:17.574:W / dalvikvm(4427):threadid = 1:线程退出   未捕获的异常(group = 0x41cf9da0)
  02-20 19:26:17.584:E / AndroidRuntime(4427):致命异常:主要
  02-20 19:26:17.584:E / AndroidRuntime(4427):处理:com.example.helloworld,PID:4427
02-20 19:26:17.584:> E / AndroidRuntime(4427):java .lang.IllegalArgumentException:数据路径必须包含子文件tessdata!
02-20 19:26:17.584:> E / AndroidRuntime(4427):at com.googlecode.tesseract.android.TessBaseAPI.init(TessBaseAPI.java:283)

我已经使用过这些并且无法继续进行。

  • String DATA_PATH =“file:///assets/tessdata/eng.traineddata”;
  • String DATA_PATH =“file://android_assest/tessdata/eng.traineddata”;

也同时使用URI。

1 个答案:

答案 0 :(得分:0)

来自https://developer.android.com/tools/projects/index.html

  

您可以使用它来存储原始资产文件。您在此处保存的文件将按原样编译为.apk文件和原始文件   文件名被保留。您可以以相同的方式导航此目录   作为典型的文件系统使用URI和读取文件作为流   使用AssetManager的字节数。例如,这是一个很好的位置   纹理和游戏数据。

所以你不能获得资产文件的路径,以及它将在apk内部。要获取文件路径,您可以在SD卡上read文件和save