HarmonyOS 沙箱文件拷贝?

沙箱中有两个文件夹,文件夹A和文件夹B。文件夹A中有很多子文件、子文件夹,文件夹B是空的。现在想把A文件夹下所有的东西,拷贝至B文件夹中。具体应该怎么实现,最好能给个demo。

阅读 435
1 个回答

可以使用fs.listFile遍历目录下文件,再用fs.copyFile拷贝,参考实现如下,如果要目录下有子文件夹目录需要配置文件过滤选ListFileOptions;

fs.listFile(getContext().resourceDir).then((filenames: Array<string>) => {
  console.info("listFile succeed");
  for (let i = 0; i < filenames.length; i++) {
    console.info("fileName: %s", `/${filenames[i]}`);
    let srcPath = getContext().resourceDir + `/${filenames[i]}`
    let dstPath = getContext().filesDir + `/${filenames[i]}`;
    fs.copyFileSync(srcPath, dstPath);
  }
}).catch((err: BusinessError) => {
  console.error("list file failed with error message: " + err.message + ", error code: " + err.code);
});

也可以通过zlib压缩文件夹,拷贝至目标目录,再解压出来,zlib参考

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏