HarmonyOS 接口调用 resourceDir 返回路径为空

如何使用resourceDir

需要加资源打包到hap包中,然后通过fs读取对应文件

HarmonyOS
2024-12-23 16:41:10
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

要使用resourceDir,则需要在工程目录下创建resfile目录,注意不是rawfile;

工程目录如下:

project

----appEntry(module)

--------src

------------main

----------------resource

--------------------resfile

------------------------test_config.txt

示例参考:

/**
 * @param resFileName 测试一段文本:'test_config.txt'
 */
loadFile(context: Context, resFileName: string) {
  let resFilePath: string = context.resourceDir + '/' + resFileName;
  console.info('resFilePath: ' + resFilePath);

  let uri = fileUri.getUriFromPath(resFilePath);
  console.info('resFileUri: ' + uri.toString());

  fs.access(resFilePath, fs.AccessModeType.READ).then((isAccess: boolean) => {
    console.info('access: ' + isAccess); // 判断文件是否可读
    if (!isAccess) {
      return;
    }
    // 使用stream流读取文本内容,这里没有使用catch 保护,仅仅是示例
    fs.createStream(resFilePath, 'r').then((stream: fs.Stream) => {
      let stringBuffer = new ArrayBuffer(fs.statSync(resFilePath).size);
      stream.read(stringBuffer).then((readSize: number) => {
        console.info('readSize: ' + readSize);
        let decoder = util.TextDecoder.create('"utf-8"');
        let str = decoder.decodeWithStream(new Uint8Array(stringBuffer));
        console.info('content: ' + str);
        stream.close();
      })
    })
  })
}

文件操作参考:

【@ohos.file.fileuri (文件URI)】

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fileuri-V5

【@ohos.file.fs (文件管理)】

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5

【资源分类与访问】

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/resource-categories-and-access-V5#%E9%99%90%E5%AE%9A%E8%AF%8D%E7%9B%AE%E5%BD%95%E4%B8%8E%E8%AE%BE%E5%A4%87%E7%8A%B6%E6%80%81%E7%9A%84%E5%8C%B9%E9%85%8D%E8%A7%84%E5%88%99

分享
微博
QQ
微信
回复
2024-12-23 19:33:29
相关问题
HarmonyOS resourceDir返回空值
223浏览 • 1回复 待解决
HarmonyOS 接口返回偶现字段
222浏览 • 1回复 待解决
调用广告接口返回错误码21800003
1029浏览 • 1回复 待解决
HarmonyOS 如何返回路由的第一个视图
587浏览 • 1回复 待解决
HarmonyOS fingerList[0]获取导致crash
380浏览 • 1回复 待解决
mongodb查找附近的单车
6431浏览 • 1回复 待解决
HarmonyOS context.resourceDir问题
664浏览 • 1回复 待解决
条形码识别坐标信息
2089浏览 • 1回复 待解决