HarmonyOS rawfile文件拷贝到沙箱

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

可参考:

export function myRawfileCopy(context: common.UIAbilityContext) {
  context.resourceManager.getRawFileContent("aaa.txt", (err: BusinessError, data: Uint8Array) => {
    if (err != null) {
      console.error(`open aaa.txt failed: ${err.message}`)
    } else {
      let buffer = data.buffer
      let sanboxPath = context.filesDir
      console.log('myRawfileCopy path' + sanboxPath)
      fs.mkdtemp(sanboxPath + "/XXXXXX", (err, res) => {
        if (err != null) {
          console.error(err?.message)
          return
        }
        console.log(res)
        let filePath = res + "/aaa.txt"

        let file = fs.openSync(filePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE)
        try {
          fs.writeSync(file.fd, buffer) // 拷贝文件到沙箱,为了简便,这里是直接getrawfilecontent然后写入,当文件过大时内存压力会很大,如需优化,可通过buffer进行读取
          fs.close(file.fd)

          // 把沙箱中的文件第一行读出来,验证是否拷贝成功;(fs.readFileSync 方法读取整个文件)
          let data = fileIo.readTextSync(filePath);
          console.log('myRawfileCopy success ' + data)
        } catch (err) {
          console.log('myRawfileCopy  error')
        }
      })
    }
  })
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 沙箱文件拷贝
83浏览 • 1回复 待解决
HarmonyOS RawFile下的文件拷贝
20浏览 • 1回复 待解决
JS代码require沙箱的JS文件
28浏览 • 1回复 待解决
HarmonyOS 文件拷贝示例
46浏览 • 1回复 待解决
HarmonyOS 相册文件拷贝
44浏览 • 1回复 待解决