Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d05ac463
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d05ac463
编写于
5月 08, 2023
作者:
1
18721213663
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fs_add_copydir
Signed-off-by:
N
18721213663
<
zhuhongtao12@huawei.com
>
上级
d4090983
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
100 addition
and
2 deletion
+100
-2
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
+100
-2
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
浏览文件 @
d05ac463
...
...
@@ -447,6 +447,93 @@ copyFileSync(src: string|number, dest: string|number, mode?: number): void
fs
.
copyFileSync
(
srcPath
,
dstPath
);
```
## fs.copyDir<sup>10+</sup>
copyDir(src: string, dest: string, mode?: number): Promise
\<
void>
复制源文件夹至目标路径下,使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件夹的应用沙箱路径。 |
| dest | string | 是 | 目标应用沙箱路径。 |
| mode | number | 否 | 复制模式。默认mode为0。
<br/>
-
mode为0,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中以Array\
<
[
ConflictFiles
](
#conflictfiles
)
>
形式提供。
<br/>
-
mode为1,
<br/>
-
mode为1,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。|
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------------------- |
| Promise
<
void
>
| Promise对象。无返回值。 |
**错误码:**
接口抛出错误码的详细介绍请参见
[
基础文件IO错误码
](
../errorcodes/errorcode-filemanagement.md#基础文件io错误码
)
。
**示例:**
```
js
// copy directory from srcPath to destPath/srcPath
let
srcPath
=
pathDir
+
"
/srcDir/
"
;
let
destPath
=
pathDir
+
"
/destDir/
"
;
fs
.
copyDir
(
srcPath
,
destPath
,
0
).
then
(()
=>
{
console
.
info
(
"
copy directory succeed
"
);
}).
catch
((
err
)
=>
{
if
(
err
.
code
==
13900015
)
{
for
(
let
i
=
0
;
i
<
err
.
data
.
length
;
i
++
)
{
console
.
info
(
"
copy directory failed with conflicting files:
"
+
err
.
data
[
i
].
srcFile
+
"
"
+
err
.
data
[
i
].
destFile
);
}
}
else
{
console
.
info
(
"
copy directory failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
});
```
## fs.copyDir<sup>10+</sup>
copyDir(src: string, dest: string, mode?: number, callback: AsyncCallback
\<
void>): void
复制源文件夹至目标路径下,使用Callback异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件夹的应用沙箱路径。 |
| dest | string | 是 | 目标应用沙箱路径。 |
| mode | number | 否 | 复制模式。默认mode为0。
<br/>
-
mode为0,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中以Array\
<
[
ConflictFiles
](
#conflictfiles
)
>
形式提供。
<br/>
-
mode为1,
<br/>
-
mode为1,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。|
| callback | AsyncCallback
<
void
>
| 是 | 异步复制文件夹之后的回调。 |
**错误码:**
接口抛出错误码的详细介绍请参见
[
基础文件IO错误码
](
../errorcodes/errorcode-filemanagement.md#基础文件io错误码
)
。
**示例:**
```
js
// copy directory from srcPath to destPath/srcPath
let
srcPath
=
pathDir
+
"
/srcDir/
"
;
let
destPath
=
pathDir
+
"
/destDir/
"
;
fs
.
copyDir
(
srcPath
,
destPath
,
0
,
(
err
)
=>
{
if
(
err
&&
err
.
code
==
13900015
)
{
for
(
let
i
=
0
;
i
<
err
.
data
.
length
;
i
++
)
{
console
.
info
(
"
copy directory failed with conflicting files:
"
+
err
.
data
[
i
].
srcFile
+
"
"
+
err
.
data
[
i
].
destFile
);
}
}
else
if
(
err
)
{
console
.
info
(
"
copy directory failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
else
{
console
.
info
(
"
copy directory succeed
"
);
}
});
```
## fs.mkdir
mkdir(path: string): Promise
<
void
>
...
...
@@ -1925,7 +2012,7 @@ moveDir(src: string, dest: string, mode?: number): Promise\<void>
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件夹的应用沙箱路径。 |
| dest | string | 是 | 目标应用沙箱路径。 |
| mode | number | 否 | 移动模式。默认mode为0。
<br/>
-
mode为0,文件夹级别抛异常。若目标路径存在与源文件夹名冲突的文件夹,则抛出异常。
<br/>
-
mode为1,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中提供。
<br/>
-
mode为2,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。
<br/>
-
mode为3,文件夹级别强制覆盖。移动源文件夹至目标路径下,目标文件夹与源文件夹内容完全一致。目标文件夹下所有原始文件将不会保留。|
| mode | number | 否 | 移动模式。默认mode为0。
<br/>
-
mode为0,文件夹级别抛异常。若目标路径存在与源文件夹名冲突的文件夹,则抛出异常。
<br/>
-
mode为1,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中
以Array\
<
[
ConflictFiles
](
#conflictfiles
)
>
形式
提供。
<br/>
-
mode为2,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。
<br/>
-
mode为3,文件夹级别强制覆盖。移动源文件夹至目标路径下,目标文件夹与源文件夹内容完全一致。目标文件夹下所有原始文件将不会保留。|
**返回值:**
...
...
@@ -1971,7 +2058,7 @@ moveDir(src: string, dest: string, mode?: number, callback: AsyncCallback\<void>
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件夹的应用沙箱路径。 |
| dest | string | 是 | 目标应用沙箱路径。 |
| mode | number | 否 | 移动模式。默认mode为0。
<br/>
-
mode为0,文件夹级别抛异常。若目标路径存在与源文件夹名冲突的文件夹,则抛出异常。
<br/>
-
mode为1,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中提供。
<br/>
-
mode为2,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。
<br/>
-
mode为3,文件夹级别强制覆盖。移动源文件夹至目标路径下,目标文件夹与源文件夹内容完全一致。目标文件夹下所有原始文件将不会保留。|
| mode | number | 否 | 移动模式。默认mode为0。
<br/>
-
mode为0,文件夹级别抛异常。若目标路径存在与源文件夹名冲突的文件夹,则抛出异常。
<br/>
-
mode为1,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中
以Array\
<
[
ConflictFiles
](
#conflictfiles
)
>
形式
提供。
<br/>
-
mode为2,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。
<br/>
-
mode为3,文件夹级别强制覆盖。移动源文件夹至目标路径下,目标文件夹与源文件夹内容完全一致。目标文件夹下所有原始文件将不会保留。|
| callback | AsyncCallback
<
void
>
| 是 | 异步移动文件夹之后的回调。 |
**错误码:**
...
...
@@ -3266,3 +3353,14 @@ open接口flags参数常量。文件打开标签。
| fileSizeOver | number | 文件大小匹配,大于等于指定大小的文件。 |
| lastModifiedAfter | number | 文件最近修改时间匹配,在指定时间点及之后的文件。 |
| excludeMedia | boolean | 是否排除Media中已有的文件。 |
## ConflictFiles
**系统能力**
:SystemCapability.FileManagement.File.FileIO
冲突文件信息,支持copyDir及moveDir接口使用。
| 名称 | 类型 | 说明 |
| ----------- | --------------- | ------------------ |
| srcFile | string | 源冲突文件路径。 |
| destFile | string | 目标冲突文件路径。 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录