拷贝文件或者目录

2024-12-04 14:49:16
136次阅读
0个评论

fs.copy(Promise异步返回)

copy(srcUri: string, destUri: string, options?: CopyOptions): Promise

拷贝文件或者目录,使用Promise异步返回。

支持跨设备拷贝。强制覆盖拷贝。入参支持文件或目录URI。 跨端拷贝时,限制同时最多存在10个拷贝任务;单次拷贝的文件数量不得超过500个。

参数:

参数名 类型 必填 说明
srcUri string 待复制文件或目录的uri。
destUri string 目标文件或目录的uri。
options CopyOptions options中提供拷贝进度回调。

返回值:

类型 说明
Promise Promise对象。无返回值。

错误码:

接口抛出错误码的详细介绍请参见基础文件IO错误码

示例:

import { fileIo as fs } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { fileUri } from '@kit.CoreFileKit';

let srcDirPathLocal: string = pathDir + "/src";
let dstDirPathLocal: string = pathDir + "/dest";

let srcDirUriLocal: string = fileUri.getUriFromPath(srcDirPathLocal);
let dstDirUriLocal: string = fileUri.getUriFromPath(dstDirPathLocal);

let progressListener: fs.ProgressListener = (progress: fs.Progress) => {
  console.info(`progressSize: ${progress.processedSize}, totalSize: ${progress.totalSize}`);
};
let copyoption: fs.CopyOptions = {
  "progressListener" : progressListener
}
try {
  fs.copy(srcDirUriLocal, dstDirUriLocal, copyoption).then(()=>{
    console.info("Succeeded in copying. ");
  }).catch((err: BusinessError)=>{
    console.error(`Failed to copy: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to copy: ${JSON.stringify(err)}`);
}

fs.copy(Callback异步回调1)

copy(srcUri: string, destUri: string, callback: AsyncCallback): void

拷贝文件或者目录,使用callback异步回调。

支持跨设备拷贝。强制覆盖拷贝。入参支持文件或目录URI。 跨端拷贝时,限制同时最多存在10个拷贝任务;单次拷贝的文件数量不得超过500个。

参数:

参数名 类型 必填 说明
srcUri string 待复制文件或目录的uri。
destUri string 目标文件或目录的uri。
callback AsyncCallback 异步拷贝之后的回调。

错误码:

接口抛出错误码的详细介绍请参见基础文件IO错误码

示例:

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

let srcDirPathLocal: string = pathDir + "/src";
let dstDirPathLocal: string = pathDir + "/dest";

let srcDirUriLocal: string = fileUri.getUriFromPath(srcDirPathLocal);
let dstDirUriLocal: string = fileUri.getUriFromPath(dstDirPathLocal);

try {
  fs.copy(srcDirUriLocal, dstDirUriLocal, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to copy: ${JSON.stringify(err)}`);
      return;
    }
    console.info("Succeeded in copying. ");
  })
} catch(err) {
  console.error(`Failed to copy: ${JSON.stringify(err)}`);
}

fs.copy(Callback异步回调2)

copy(srcUri: string, destUri: string, options: CopyOptions, callback: AsyncCallback): void

拷贝文件或者目录,使用callback异步回调。

支持跨设备拷贝。强制覆盖拷贝。入参支持文件或目录URI。 跨端拷贝时,限制同时最多存在10个拷贝任务;单次拷贝的文件数量不得超过500个

参数:

参数名 类型 必填 说明
srcUri string 待复制文件或目录的uri。
destUri string 目标文件或目录的uri。
options CopyOptions 拷贝进度回调。
callback AsyncCallback 异步拷贝之后的回调。

错误码:

接口抛出错误码的详细介绍请参见基础文件IO错误码

示例:

import { fileIo as fs } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { fileUri } from '@kit.CoreFileKit';

let srcDirPathLocal: string = pathDir + "/src";
let dstDirPathLocal: string = pathDir + "/dest";

let srcDirUriLocal: string = fileUri.getUriFromPath(srcDirPathLocal);
let dstDirUriLocal: string = fileUri.getUriFromPath(dstDirPathLocal);

try {
  let progressListener: fs.ProgressListener = (progress: fs.Progress) => {
    console.info(`progressSize: ${progress.processedSize}, totalSize: ${progress.totalSize}`);
  };
  let copyoption: fs.CopyOptions = {
    "progressListener" : progressListener
  }
  fs.copy(srcDirUriLocal, dstDirUriLocal, copyoption, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to copy: ${JSON.stringify(err)}`);
      return;
    }
    console.info("Succeeded in copying. ");
  })
} catch(err) {
  console.error(`Failed to copy: ${JSON.stringify(err)}`);
}
收藏00

登录 后评论。没有帐号? 注册 一个。