HarmonyOS 如何获取到resources下资源的地址路径?

我在项目的resources下的rawfile中创建了一个models文件夹,里面放了几个模型文件DetectModel.nb。

我现在要读取到这个模型文件的路径,然后将路径传递给推理引擎进行推理。方法如下:

void set_model_from_file(const std::string& x);

但是我不知道该如何获取到这个模型文件的路径。查找了相关api,我尝试使用@ohos.resourceManager,但发现API很多,都比较模糊,没有找到合适的例子。请问在ets中如果获取某个文件的路径,在C++文件中又该如何获取文件路径?

HarmonyOS
2024-12-27 17:25:42
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

rawfile文件夹不解压因而无法拿到文件路径。可以在rawfile同级目录下新建resfile,resfile目录中的资源文件会被直接打包进应用,不经过编译,也不会被赋予资源文件ID。应用安装后,resfile资源会被解压到应用沙箱路径,通过Context属性resourceDir获取到resfile资源目录后,可通过文件路径访问。

import { common } from '@kit.AbilityKit';
let context = getContext(this) as common.UIAbilityContext;
let resourceDir = context.resourceDir
let resourceDirTest = resourceDir + '/test.txt';
//此时resourceDirTest 就能拿到resfile文件夹文件的路径
//沙箱路径日志为/data/storage/el1/bundle/entry/resources/resfile/test.txt

文档链接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/resource-categories-and-access.md#resfile%E7%9B%AE%E5%BD%95

分享
微博
QQ
微信
回复
2024-12-27 19:41:56
相关问题
如何获取profile路径资源文件?
1921浏览 • 1回复 待解决
如何获取资源文件路径
2052浏览 • 1回复 待解决
HarmonyOS如何获取资源绝对路径
669浏览 • 1回复 待解决
鸿蒙如何获取资源文件种路径
16728浏览 • 3回复 待解决
java如何引用resources资源获得value?
4741浏览 • 1回复 待解决
HarmonyOS 获取资源目录下绝对路径
121浏览 • 1回复 待解决