【问题标题】:Getting the data path of assets folder in android获取android中assets文件夹的数据路径
【发布时间】:2015-02-20 14:09:29
【问题描述】:

我正在尝试将 Tesseract 集成到 android 中。所以我必须通过调用 baseApi.init(DATA_PATH, lang) 来用训练过的数据初始化 tesseract。 DATA_PATH 是traineddata.lang 文件的路径,该文件将放在assests 文件夹中,然后以String 格式放在tessdata 文件夹中。但我无法找到一种方法来执行此操作并反复出现此错误。

02-20 19:26:17.574: W/dalvikvm(4427): threadid=1: 线程退出 未捕获的异常(组=0x41cf9da0)
02-20 19:26:17.584: E/AndroidRuntime(4427): 致命异常: main
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 一起使用。

【问题讨论】:

    标签: android


    【解决方案1】:

    一个相当来自https://developer.android.com/tools/projects/index.html

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

    因此您无法获取资产文件的路径,以及它在 apk 中的路径。要获取文件的路径,您可以在SD卡上read文件和save

    【讨论】:

    • 我不必自己从文件中获取输入,而只需将路径作为字符串格式传递,内置函数将完成它必须做的处理。此外,apk 可能已保存在手机的内存中。
    • 请阅读我写的内容。读取资产文件并将其写入 sd 卡,您将能够获得该文件的路径。
    • 手机没有SD卡怎么办?
    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 2023-03-26
    • 1970-01-01
    • 2014-02-13
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多