Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
db30fb91
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,发现更多精彩内容 >>
未验证
提交
db30fb91
编写于
3月 07, 2023
作者:
O
openharmony_ci
提交者:
Gitee
3月 07, 2023
浏览文件
操作
浏览文件
下载
差异文件
!15428 fs 新增watcher接口
Merge pull request !15428 from zhuhongtao666/fsdoc
上级
1a006fb4
0bf616ab
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
123 addition
and
9 deletion
+123
-9
zh-cn/application-dev/reference/apis/js-apis-file-environment.md
...pplication-dev/reference/apis/js-apis-file-environment.md
+2
-2
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
+115
-1
zh-cn/application-dev/reference/apis/js-apis-file-securityLabel.md
...lication-dev/reference/apis/js-apis-file-securityLabel.md
+6
-6
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-file-environment.md
浏览文件 @
db30fb91
...
...
@@ -3,7 +3,7 @@
该模块提供环境目录能力,获取内存存储根目录、公共文件根目录的JS接口。
> **说明:**
> 本模块首批接口从API version
9
开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块首批接口从API version
8
开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口为系统接口,三方应用不支持调用。
> 本模块支持对错误码进行处理,错误码及其适配方式[参考文档](../errorcodes/errorcode-filemanagement.md#错误码适配指导)。
...
...
@@ -25,7 +25,7 @@ getStorageDataDir():Promise<string>
| 类型 | 说明 |
| --------------------- | ---------------- |
| Promise
<
string
>
| 返回存
存
储根目录 |
| Promise
<
string
>
| 返回存储根目录 |
**示例:**
...
...
zh-cn/application-dev/reference/apis/js-apis-file-fs.md
浏览文件 @
db30fb91
...
...
@@ -2063,11 +2063,83 @@ fdopenStreamSync(fd: number, mode: string): Stream
fs
.
closeSync
(
file
);
```
## fs.createWatcher<sup>10+</sup>
createWatcher(path: string, events: number, listener: WatchEventListener): Watcher
创建Watcher对象,用来监听文件或目录变动。
**系统接口**
:此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ---------------------------------------- |
| path | string | 是 | 监听文件或目录的沙箱路径。 |
| events | number | 是 | 监听变动的事件集,多个事件通过或(
\|
)的方式进行集合。
<br/>
-
0x1: IN_ACCESS, 文件被访问。
<br/>
-
0x2: IN_MODIFY,文件内容被修改。
<br/>
-
0x4: IN_ATTRIB,文件元数据被修改。
<br/>
-
0x8: IN_CLOSE_WRITE,打开进行写操作的文件被关闭。
<br/>
-
0x10: IN_CLOSE_NOWRITE,打开未进行写操作的文件或目录被关闭。
<br/>
-
0x20: IN_OPEN,文件或目录被打开。
<br/>
-
0x40: IN_MOVED_FROM,监听目录中文件被移动走。
<br/>
-
0x80: IN_MOVED_TO,监听目录中文件被移动过来。
<br/>
-
0x100: IN_CREATE,监听目录中文件或子目录被创建。
<br/>
-
0x200: IN_DELETE,监听目录中文件或子目录被删除。
<br/>
-
0x400: IN_DELETE_SELF,监听的目录被删除,删除后监听停止。
<br/>
-
0x800: IN_MOVE_SELF,监听的文化或目录被移动,移动后监听继续。
<br/>
-
0xfff: IN_ALL_EVENTS,监听以上所有事件。|
| listener | WatchEventListener | 是 | 监听事件发生后的回调。监听事件每发生一次,回调一次。 |
**返回值:**
| 类型 | 说明 |
| ------------------ | --------- |
|
[
Watcher
](
#watcher10
)
| 返回Watcher对象。 |
**示例:**
```
js
let
filePath
=
pathDir
+
"
/test.txt
"
;
let
file
=
fs
.
openSync
(
filePath
,
fs
.
OpenMode
.
READ_WRITE
|
fs
.
OpenMode
.
CREATE
);
let
watcher
=
fs
.
createWatcher
(
filePath
,
0x2
|
0x10
,
(
watchEvent
)
=>
{
if
(
watchEvent
.
event
==
0x2
)
{
console
.
info
(
watchEvent
.
fileName
+
'
was modified
'
);
}
else
if
(
watchEvent
.
event
==
0x10
)
{
console
.
info
(
watchEvent
.
fileName
+
'
was closed
'
);
}
});
watcher
.
start
();
fs
.
writeSync
(
file
.
fd
,
'
test
'
);
fs
.
closeSync
(
file
);
watcher
.
stop
();
```
## WatchEventListener<sup>10+</sup>
(event: WatchEvent): void
事件监听类。
**系统接口**
:此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ---------------------------------------- |
| event | WatchEvent | 是 | 回调的事件类。 |
## WatchEvent<sup>10+</sup>
事件类
**系统接口**
:此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---- | ------ | ---- | ---- | ------- |
| fileName | string | 是 | 否 | 发生监听事件的文件名。 |
| event | number | 是 | 否 | 发生的监听事件。与
[
createWatcher
](
#fscreatewatcher10
)
中events事件集一致。 |
| cookie | number | 是 | 否 | 绑定相关事件的cookie。当前仅支持事件IN_MOVED_FROM与IN_MOVED_TO,同一个文件的移动事件IN_MOVED_FROM和IN_MOVED_TO具有相同的cookie值。 |
## Stat
文件具体信息,在调用Stat的方法前,需要先通过
[
stat()
](
#fsstat
)
方法(同步或异步)来构建一个Stat实例。
**系统能力**
:
以下各项对应的系统能力均为SystemCapability.FileManagement.File.FileIO。
**系统能力**
:
SystemCapability.FileManagement.File.FileIO
### 属性
...
...
@@ -2684,6 +2756,48 @@ unlock(): void;
console
.
log
(
"
unlock file successful
"
);
```
## Watcher<sup>10+</sup>
文件目录变化监听对象。由createWatcher接口获得。
### start<sup>10+</sup>
start(): void
开启监听。
**系统接口**
:此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**示例:**
```
js
let
filePath
=
pathDir
+
"
/test.txt
"
;
let
watcher
=
fs
.
createWatcher
(
filePath
,
0xfff
,
()
=>
{});
watcher
.
start
();
watcher
.
stop
();
```
### stop<sup>10+</sup>
stop(): void
停止监听。
**系统接口**
:此接口为系统接口。
**系统能力**
:SystemCapability.FileManagement.File.FileIO
**示例:**
```
js
let
filePath
=
pathDir
+
"
/test.txt
"
;
let
watcher
=
fs
.
createWatcher
(
filePath
,
0xfff
,
()
=>
{});
watcher
.
start
();
watcher
.
stop
();
```
## OpenMode
open接口flags参数常量。文件打开标签。
...
...
zh-cn/application-dev/reference/apis/js-apis-file-securityLabel.md
浏览文件 @
db30fb91
...
...
@@ -44,7 +44,7 @@ FA模型context的具体获取方法参见[FA模型](js-apis-inner-app-context.m
## securityLabel.setSecurityLabel
setSecurityLabel(path:string, type:
d
ataLevel):Promise
<
void
>
setSecurityLabel(path:string, type:
D
ataLevel):Promise
<
void
>
以异步方法设置数据标签,以promise形式返回结果。
...
...
@@ -55,7 +55,7 @@ setSecurityLabel(path:string, type:dataLevel):Promise<void>
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | -------------------------------------------- |
| path | string | 是 | 文件路径 |
| type |
d
ataLevel | 是 | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
| type |
D
ataLevel | 是 | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
**返回值:**
...
...
@@ -75,7 +75,7 @@ setSecurityLabel(path:string, type:dataLevel):Promise<void>
## securityLabel.setSecurityLabel
setSecurityLabel(path:string, type:
d
ataLevel, callback: AsyncCallback
<
void
>
):void
setSecurityLabel(path:string, type:
D
ataLevel, callback: AsyncCallback
<
void
>
):void
以异步方法设置数据标签,以callback形式返回结果。
...
...
@@ -86,7 +86,7 @@ setSecurityLabel(path:string, type:dataLevel, callback: AsyncCallback<void>
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | -------------------------------------------- |
| path | string | 是 | 文件路径 |
| type |
d
ataLevel | 是 | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
| type |
D
ataLevel | 是 | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
| callback | AsyncCallback
<
void
>
| 是 | 是否设置数据标签之后的回调 |
**示例:**
...
...
@@ -103,7 +103,7 @@ setSecurityLabel(path:string, type:dataLevel, callback: AsyncCallback<void>
## securityLabel.setSecurityLabelSync
setSecurityLabelSync(path:string, type:
d
ataLevel):void
setSecurityLabelSync(path:string, type:
D
ataLevel):void
以同步方法设置数据标签。
...
...
@@ -114,7 +114,7 @@ setSecurityLabelSync(path:string, type:dataLevel):void
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | -------------------------------------------- |
| path | string | 是 | 文件路径 |
| type |
d
ataLevel | 是 | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
| type |
D
ataLevel | 是 | 文件等级属性,只支持"s0","s1","s2","s3","s4" |
**示例:**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录