HarmonyOS 项目内代码如何获取项目的目录?

项目内代码如何获取项目的目录?把外部文件放在rawfile里,但是$r和$rawfile读取的都是一个资源文件本身,需要的是返回一个路径地址。

阅读 538
1 个回答

rawfile目录没有对外暴露的沙箱路径,需要先将文件拷贝进应用沙箱下再操作,拷贝进沙箱参考demo:

getContext(this).resourceManager.getRawFileContent('test.txt', (_err, value) => {
  let myBuffer: ArrayBufferLike = value.buffer
  let context = getContext(this);
  //沙箱路径 
  let filePath = context.filesDir + "/test.txt";
  console.log("testTag-filePath:" + filePath);
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  let writeLen = fs.writeSync(file.fd, myBuffer);
  console.info("testTag-write data to file succeed and size is:" + writeLen);
  fs.closeSync(file);
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进