HarmonyOS 鸿蒙Next中怎么把下载的文件改名

HarmonyOS 鸿蒙Next中怎么把下载的文件改名 从网络上下载到沙箱中的文件怎么改名?

5 回复

核心步骤

  1. 下载文件到沙箱:使用request.downloadFilerequest.agent将网络文件下载到应用的沙箱目录(如filesDircacheDir)。

  2. 获取文件路径:下载完成后,得到文件在沙箱中的完整路径。

  3. 重命名文件:使用fileIo.renamefileIo.renameSync将原文件重命名为新名称。

import { BusinessError } from '@kit.BasicServicesKit';

let srcFile = pathDir + "/test.txt";
let dstFile = pathDir + "/new.txt";
fileIo.rename(srcFile, dstFile).then(() => {
  console.info(`Succeeded in renaming.`);
}).catch((err: BusinessError) => {
  console.error(`Failed to rename. Code: ${err.code}, message: ${err.message}`);
});

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-file-fs#fileiorename

更多关于HarmonyOS 鸿蒙Next中怎么把下载的文件改名的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


/**
 * 重命名文件或文件夹,使用Promise异步回调。
 * @param oldPath string 文件的应用沙箱原路径。
 * @param newPath string 文件的应用沙箱新路径。
 * @returns
 */
static rename(oldPath: string, newPath: string): Promise<void> {
  return fs.rename(oldPath, newPath);
}

/**
 * 重命名文件或文件夹,以同步方法。
 * @param oldPath string 文件的应用沙箱原路径。
 * @param newPath string 文件的应用沙箱新路径。
 * @returns
 */
static renameSync(oldPath: string, newPath: string) {
  fs.renameSync(oldPath, newPath);
}

有文档

在HarmonyOS Next中,可使用 @ohos.file.fs 模块的 rename 方法重命名文件。例如:fs.rename(oldPath, newPath),其中 newPath 需包含新文件名。需申请 ohos.permission.WRITE_USER_STORAGE 权限。

在鸿蒙Next中,可以使用文件管理模块的 fs.rename 接口来重命名沙箱内的文件。该操作要求提供旧文件路径和新文件路径,一般情况下新路径需与旧路径位于同一目录,即只是修改文件名。使用前请确保已正确声明 ohos.permission.READ_WRITE_DOWNLOAD_DATA 等必要权限,且文件未被其他进程占用。示例步骤:先通过下载回调或文件选择器获得文件在沙箱中的实际路径,再调用 fs.rename(oldPath, newPath) 即可完成改名。

回到顶部