拷贝文件或者目录
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