Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
b7cf68cc
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b7cf68cc
编写于
2月 02, 2023
作者:
1
18721213663
提交者:
zhangkaixiang
3月 01, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fs_add_movefile&listfile&filelock
Signed-off-by:
N
18721213663
<
zhuhongtao12@huawei.com
>
上级
b0c91265
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
346 addition
and
17 deletion
+346
-17
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
+346
-0
zh-cn/application-dev/reference/apis/js-apis-fileio.md
zh-cn/application-dev/reference/apis/js-apis-fileio.md
+0
-17
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
浏览文件 @
b7cf68cc
...
...
@@ -1559,6 +1559,239 @@ symlinkSync(target: string, srcPath: string): void
fs
.
symlinkSync
(
srcFile
,
dstFile
);
```
## fs.listFile
listFile(path: string, options?: {
recursion?: boolean;
listNum?: number;
filter?: Filter;
}): Promise
<string
[]
>
;
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| path | string | 是 | 文件夹的应用沙箱路径。 |
| options | Object | 否 | 文件过滤选项。 |
**options参数说明:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| recursion | boolean | 否 | 是否递归子目录下文件名,默认为false。 |
| listNum | number | 否 | 列出文件名数量。当设置0时,列出所有文件,默认为0。 |
| filter |
[
Filter
](
#filter
)
| 否 | 文件过滤选项。当前仅支持后缀名匹配、文件名模糊查询、文件大小过滤、最近修改时间过滤。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ---------- |
| Promise
<
string[]
>
| Promise对象。返回文件名数组。 |
**示例:**
```
js
let
options
=
{
"
recursion
"
:
false
,
"
listNum
"
:
0
,
"
filter
"
:
{
"
suffix
"
:
[
"
.png
"
,
"
.jpg
"
,
"
.jpeg
"
],
"
displayName
"
:
[
"
%abc
"
,
"
efg%
"
],
"
fileSizeOver
"
:
1024
,
"
lastModifiedAfter
"
:
new
Date
().
getTime
(),
}
};
fs
.
listFile
(
pathDir
,
options
).
then
((
filenames
)
=>
{
console
.
info
(
"
listFile succeed
"
);
for
(
let
i
=
0
;
i
<
filenames
.
size
;
i
++
)
{
console
.
info
(
"
fileName: %s
"
,
filenames
[
i
]);
}
}).
catch
((
err
)
=>
{
console
.
info
(
"
list file failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
});
```
## fs.listFile
listFile(path: string, options?: {
recursion?: boolean;
listNum?: number;
filter?: Filter;
}, callback: AsyncCallback
<string
[]
>
): void;
列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Callback异步回调。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| path | string | 是 | 文件夹的应用沙箱路径。 |
| options | Object | 否 | 文件过滤选项。 |
| callback | AsyncCallback
<
string[]
>
| 是 | 异步列出文件名数组之后的回调。 |
**options参数说明:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| recursion | boolean | 否 | 是否递归子目录下文件名,默认为false。 |
| listNum | number | 否 | 列出文件名数量。当设置0时,列出所有文件,默认为0。 |
| filter |
[
Filter
](
#filter
)
| 否 | 文件过滤选项。当前仅支持后缀名匹配、文件名模糊查询、文件大小过滤、最近修改时间过滤。 |
**示例:**
```
js
let
options
=
{
"
recursion
"
:
false
,
"
listNum
"
:
0
,
"
filter
"
:
{
"
suffix
"
:
[
"
.png
"
,
"
.jpg
"
,
"
.jpeg
"
],
"
displayName
"
:
[
"
%abc
"
,
"
efg%
"
],
"
fileSizeOver
"
:
1024
,
"
lastModifiedAfter
"
:
new
Date
().
getTime
(),
}
};
fs
.
listFile
(
pathDir
,
options
,
(
err
,
filenames
)
=>
{
if
(
err
)
{
console
.
info
(
"
list file failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
else
{
console
.
info
(
"
listFile succeed
"
);
for
(
let
i
=
0
;
i
<
filenames
.
size
;
i
++
)
{
console
.
info
(
"
filename: %s
"
,
filenames
[
i
]);
}
}
});
```
## listFileSync
listFileSync(path: string, options?: {
recursion?: boolean;
listNum?: number;
filter?: Filter;
}): string[];
以同步方式列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| path | string | 是 | 文件夹的应用沙箱路径。 |
| options | Object | 否 | 文件过滤选项。 |
**options参数说明:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| recursion | boolean | 否 | 是否递归子目录下文件名,默认为false。 |
| listNum | number | 否 | 列出文件名数量。当设置0时,列出所有文件,默认为0。 |
| filter |
[
Filter
](
#filter
)
| 否 | 文件过滤选项。当前仅支持后缀名匹配、文件名模糊查询、文件大小过滤、最近修改时间过滤。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ---------- |
| string[] | 返回文件名数组。 |
**示例:**
```
js
let
options
=
{
"
recursion
"
:
false
,
"
listNum
"
:
0
,
"
filter
"
:
{
"
suffix
"
:
[
"
.png
"
,
"
.jpg
"
,
"
.jpeg
"
],
"
displayName
"
:
[
"
%abc
"
,
"
efg%
"
],
"
fileSizeOver
"
:
1024
,
"
lastModifiedAfter
"
:
new
Date
().
getTime
(),
}
};
let
filenames
=
fs
.
listFileSync
(
pathDir
,
options
);
console
.
info
(
"
listFile succeed
"
);
for
(
let
i
=
0
;
i
<
filenames
.
size
;
i
++
)
{
console
.
info
(
"
filename: %s
"
,
filenames
[
i
]);
}
```
## moveFile
moveFile(src: string, dest: string, mode?: number): Promise
<void>
;
移动文件,使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件的应用沙箱路径。 |
| dest | string | 是 | 目的文件的应用沙箱路径。 |
| mode | number | 否 | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
**示例:**
```
js
fs
.
moveFile
(
srcPath
,
destPath
,
0
).
then
(()
=>
{
console
.
info
(
"
move file succeed
"
);
}).
catch
((
err
)
=>
{
console
.
info
(
"
move file failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
});
```
## moveFile
moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback
<void>
): void;
移动文件,使用Callback异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件的应用沙箱路径。 |
| dest | string | 是 | 目的文件的应用沙箱路径。 |
| mode | number | 否 | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
| callback | AsyncCallback
<
void
>
| 是 | 异步移动文件之后的回调。 |
**示例:**
```
js
fs
.
moveFile
(
srcPath
,
destPath
,
0
,
(
err
)
=>
{
if
(
err
)
{
console
.
info
(
"
move file failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
else
{
console
.
info
(
"
move file succeed
"
);
}
});
```
## moveFileSync
moveFile(src: string, dest: string, mode?: number): void;
以同步方式移动文件。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------- |
| src | string | 是 | 源文件的应用沙箱路径。 |
| dest | string | 是 | 目的文件的应用沙箱路径。 |
| mode | number | 否 | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
**示例:**
```
js
fs
.
moveFileSync
(
srcPath
,
destPath
,
0
);
console
.
info
(
"
move file succeed
"
);
```
## fs.mkdtemp
mkdtemp(prefix: string): Promise
<
string
>
...
...
@@ -2353,6 +2586,104 @@ readSync(buffer: ArrayBuffer, options?: { offset?: number; length?: number; }):
| ---- | ------ | ---- | ---- | ------- |
| fd | number | 是 | 否 | 打开的文件描述符。 |
### lock
lock(exclusive?: boolean): Promise
<void>
;
文件阻塞式施加共享锁或独占锁,使用Promise异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------- | ---- | ---------------------------------------- |
| exclusive | boolean | 否 | 是否施加独占锁,默认false。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | ------ |
| Promise
<
void
>
| Promise对象。无返回值。 |
**示例:**
```
js
let
file
=
fs
.
openSync
(
path
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
file
.
lock
(
true
).
then
(()
=>
{
console
.
log
(
"
lock file successful
"
);
}).
catch
((
err
)
=>
{
console
.
info
(
"
lock file failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
});
```
### lock
lock(exclusive?: boolean, callback: AsyncCallback
<void>
): void;
文件阻塞式施加共享锁或独占锁,使Callback异步回调。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------- | ---- | ---------------------------------------- |
| exclusive | boolean | 否 | 是否施加独占锁,默认false。 |
| callback | AsyncCallback
<
void
>
| 是 | 异步文件上锁之后的回调。 |
**示例:**
```
js
let
file
=
fs
.
openSync
(
path
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
file
.
lock
(
true
,
(
err
)
=>
{
if
(
err
)
{
console
.
info
(
"
lock file failed with error message:
"
+
err
.
message
+
"
, error code:
"
+
err
.
code
);
}
else
{
console
.
log
(
"
lock file successful
"
);
}
});
```
### tryLock
tryLock(exclusive?: boolean): void;
文件非阻塞式施加共享锁或独占锁。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------- | ---- | ---------------------------------------- |
| exclusive | boolean | 否 | 是否施加独占锁,默认false。 |
**示例:**
```
js
let
file
=
fs
.
openSync
(
path
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
file
.
tryLock
(
true
);
console
.
log
(
"
lock file successful
"
);
```
### unlock
unlock(): void;
以同步方式给文件解锁。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**示例:**
```
js
let
file
=
fs
.
openSync
(
path
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
file
.
tryLock
(
true
);
file
.
unlock
();
console
.
log
(
"
unlock file successful
"
);
```
## OpenMode
open接口flags参数常量。文件打开标签。
...
...
@@ -2371,3 +2702,18 @@ open接口flags参数常量。文件打开标签。
| DIR | number | 0o200000 | 如果path不指向目录,则出错。 |
| NOFOLLOW | number | 0o400000 | 如果path指向符号链接,则出错。 |
| SYNC | number | 0o4010000 | 以同步IO的方式打开文件。 |
## Filter
**系统能力**
:SystemCapability.FileManagement.File.FileIO
文件过滤配置项类型,支持listFile接口使用。
| 名称 | 类型 | 说明 |
| ----------- | --------------- | ------------------ |
| suffix | Array
<
string
>
| 文件后缀名完全匹配,各个关键词OR关系。 |
| displayName | Array
<
string
>
| 文件名模糊匹配,各个关键词OR关系。 |
| mimeType | Array
<
string
>
| mime类型完全匹配,各个关键词OR关系。 |
| fileSizeOver | number | 文件大小匹配,大于等于指定大小的文件。 |
| lastModifiedAfter | number | 文件最近修改时间匹配,在指定时间点及之后的文件。 |
| excludeMedia | boolean | 是否排除Media中已有的文件。 |
zh-cn/application-dev/reference/apis/js-apis-fileio.md
浏览文件 @
b7cf68cc
...
...
@@ -3434,20 +3434,3 @@ isSymbolicLink(): boolean
let
dir
=
fileio
.
opendirSync
(
pathDir
);
let
isSymbolicLink
=
dir
.
readSync
().
isSymbolicLink
();
```
## Filter<sup>9+</sup>
**系统接口**
:此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
文件过滤器配置项。
| 名称 | 类型 | 说明 |
| ----------- | --------------- | ------------------ |
| suffix | Array
<
string
>
| 文件后缀名,各个关键词OR关系。 |
| displayName | Array
<
string
>
| 文件名模糊匹配,各个关键词OR关系。 |
| mimeType | Array
<
string
>
| mime类型匹配,各个关键词OR关系。 |
| fileSizeOver | number | 文件大小匹配,大于等于指定大小的文件。 |
| lastModifiedAfter | Date | 修改时间匹配,在指定时间点后的文件。 |
| excludeMedia | Boolean | 是否排除Media中已有的文件。 |
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录