Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c98d674a
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
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看板
提交
c98d674a
编写于
4月 11, 2023
作者:
1
18721213663
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fs_add_movedir
Signed-off-by:
N
18721213663
<
zhuhongtao12@huawei.com
>
上级
3f7b26bf
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
96 addition
and
10 deletion
+96
-10
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
+96
-10
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
浏览文件 @
c98d674a
...
@@ -1564,7 +1564,7 @@ listFile(path: string, options?: {
...
@@ -1564,7 +1564,7 @@ listFile(path: string, options?: {
recursion?: boolean;
recursion?: boolean;
listNum?: number;
listNum?: number;
filter?: Filter;
filter?: Filter;
}): Promise
<string
[]
>
;
}): Promise
<string
[]
>
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Promise异步回调。
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Promise异步回调。
...
@@ -1619,7 +1619,7 @@ listFile(path: string, options?: {
...
@@ -1619,7 +1619,7 @@ listFile(path: string, options?: {
recursion?: boolean;
recursion?: boolean;
listNum?: number;
listNum?: number;
filter?: Filter;
filter?: Filter;
}, callback: AsyncCallback
<string
[]
>
): void
;
}, callback: AsyncCallback
<string
[]
>
): void
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Callback异步回调。
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Callback异步回调。
...
@@ -1670,7 +1670,7 @@ listFileSync(path: string, options?: {
...
@@ -1670,7 +1670,7 @@ listFileSync(path: string, options?: {
recursion?: boolean;
recursion?: boolean;
listNum?: number;
listNum?: number;
filter?: Filter;
filter?: Filter;
}): string[]
;
}): string[]
以同步方式列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤。
以同步方式列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤。
...
@@ -1714,9 +1714,89 @@ listFileSync(path: string, options?: {
...
@@ -1714,9 +1714,89 @@ listFileSync(path: string, options?: {
console
.
info
(
"
filename: %s
"
,
filenames
[
i
]);
console
.
info
(
"
filename: %s
"
,
filenames
[
i
]);
}
}
```
```
## fs.moveDir<sup>10+</sup>
moveDir(src: string, dest: string, mode?: number): Promise
\<
void>
移动源文件夹至目标路径下,使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件夹的应用沙箱路径。 |
| dest | string | 是 | 目标应用沙箱路径。 |
| mode | number | 否 | 移动模式。默认mode为0。
<br/>
-
mode为0,文件夹级别抛异常。若目标路径存在与源文件夹名冲突的文件夹,则抛出异常。
<br/>
-
mode为1,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中提供。
<br/>
-
mode为2,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。
<br/>
-
mode为3,文件夹级别强制覆盖。移动源文件夹至目标路径下,目标文件夹与源文件夹内容完全一致。目标文件夹下所有原始文件将不会保留。|
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------------------- |
| Promise
<
void
>
| Promise对象。无返回值。 |
**示例:**
```
js
// move directory from srcPath to destPath/srcPath
let
srcPath
=
pathDir
+
"
/srcDir/
"
;
let
destPath
=
pathDir
+
"
/destDir/
"
;
fs
.
moveDir
(
srcPath
,
destPath
,
1
).
then
(()
=>
{
console
.
info
(
"
move directory succeed
"
);
}).
catch
((
err
)
=>
{
if
(
err
.
code
==
13900015
)
{
for
(
let
i
=
0
;
i
<
err
.
data
.
length
;
i
++
)
{
console
.
info
(
"
move directory failed with conflicting files:
"
+
err
.
data
[
i
].
srcFile
+
"
"
+
err
.
data
[
i
].
destFile
);
}
}
else
{
console
.
info
(
"
move directory failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
});
```
## fs.moveDir<sup>10+</sup>
moveDir(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,文件夹级别抛异常。若目标路径存在与源文件夹名冲突的文件夹,则抛出异常。
<br/>
-
mode为1,文件级别抛异常。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则抛出异常。源文件夹下未冲突的文件全部移动至此目标文件夹下,此目标文件夹下未冲突文件将继续保留,且冲突文件信息将在抛出异常的data属性中提供。
<br/>
-
mode为2,文件级别强制覆盖。目标路径存在与源文件夹名冲突的文件夹,若此目标文件夹下存在与源文件夹下同名文件,则强制覆盖此目标文件夹下所有同名文件。目标文件夹下未冲突文件将继续保留。
<br/>
-
mode为3,文件夹级别强制覆盖。移动源文件夹至目标路径下,目标文件夹与源文件夹内容完全一致。目标文件夹下所有原始文件将不会保留。|
| callback | AsyncCallback
<
void
>
| 是 | 异步移动文件夹之后的回调。 |
**示例:**
```
js
// move directory from srcPath to destPath/srcPath
let
srcPath
=
pathDir
+
"
/srcDir/
"
;
let
destPath
=
pathDir
+
"
/destDir/
"
;
fs
.
moveDir
(
srcPath
,
destPath
,
1
,
(
err
)
=>
{
if
(
err
&&
err
.
code
==
13900015
)
{
for
(
let
i
=
0
;
i
<
err
.
data
.
length
;
i
++
)
{
console
.
info
(
"
move directory failed with conflicting files:
"
+
err
.
data
[
i
].
srcFile
+
"
"
+
err
.
data
[
i
].
destFile
);
}
}
else
if
(
err
)
{
console
.
info
(
"
move directory failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
else
{
console
.
info
(
"
move directory succeed
"
);
}
});
```
## fs.moveFile
## fs.moveFile
moveFile(src: string, dest: string, mode?: number): Promise
\<
void>
;
moveFile(src: string, dest: string, mode?: number): Promise
\<
void>
移动文件,使用Promise异步回调。
移动文件,使用Promise异步回调。
...
@@ -1730,6 +1810,12 @@ moveFile(src: string, dest: string, mode?: number): Promise\<void>;
...
@@ -1730,6 +1810,12 @@ moveFile(src: string, dest: string, mode?: number): Promise\<void>;
| dest | string | 是 | 目的文件的应用沙箱路径。 |
| dest | string | 是 | 目的文件的应用沙箱路径。 |
| mode | number | 否 | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
| mode | number | 否 | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------------------- |
| Promise
<
void
>
| Promise对象。无返回值。 |
**示例:**
**示例:**
```
js
```
js
...
@@ -1744,7 +1830,7 @@ moveFile(src: string, dest: string, mode?: number): Promise\<void>;
...
@@ -1744,7 +1830,7 @@ moveFile(src: string, dest: string, mode?: number): Promise\<void>;
## fs.moveFile
## fs.moveFile
moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback
\<
void>): void
;
moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback
\<
void>): void
移动文件,使用Callback异步回调。
移动文件,使用Callback异步回调。
...
@@ -1775,7 +1861,7 @@ moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback\<void
...
@@ -1775,7 +1861,7 @@ moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback\<void
## fs.moveFileSync
## fs.moveFileSync
moveFile(src: string, dest: string, mode?: number): void
;
moveFile(src: string, dest: string, mode?: number): void
以同步方式移动文件。
以同步方式移动文件。
...
@@ -2666,7 +2752,7 @@ readSync(buffer: ArrayBuffer, options?: { offset?: number; length?: number; }):
...
@@ -2666,7 +2752,7 @@ readSync(buffer: ArrayBuffer, options?: { offset?: number; length?: number; }):
### lock
### lock
lock(exclusive?: boolean): Promise
\<
void>
;
lock(exclusive?: boolean): Promise
\<
void>
文件阻塞式施加共享锁或独占锁,使用Promise异步回调。
文件阻塞式施加共享锁或独占锁,使用Promise异步回调。
...
@@ -2697,7 +2783,7 @@ lock(exclusive?: boolean): Promise\<void>;
...
@@ -2697,7 +2783,7 @@ lock(exclusive?: boolean): Promise\<void>;
### lock
### lock
lock(exclusive?: boolean, callback: AsyncCallback
\<
void>): void
;
lock(exclusive?: boolean, callback: AsyncCallback
\<
void>): void
文件阻塞式施加共享锁或独占锁,使Callback异步回调。
文件阻塞式施加共享锁或独占锁,使Callback异步回调。
...
@@ -2725,7 +2811,7 @@ lock(exclusive?: boolean, callback: AsyncCallback\<void>): void;
...
@@ -2725,7 +2811,7 @@ lock(exclusive?: boolean, callback: AsyncCallback\<void>): void;
### tryLock
### tryLock
tryLock(exclusive?: boolean): void
;
tryLock(exclusive?: boolean): void
文件非阻塞式施加共享锁或独占锁。
文件非阻塞式施加共享锁或独占锁。
...
@@ -2747,7 +2833,7 @@ tryLock(exclusive?: boolean): void;
...
@@ -2747,7 +2833,7 @@ tryLock(exclusive?: boolean): void;
### unlock
### unlock
unlock(): void
;
unlock(): void
以同步方式给文件解锁。
以同步方式给文件解锁。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录