• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.file.fs (文件管理)
2
3该模块为基础文件操作API,提供基础文件操作能力,包括文件基本管理、文件目录管理、文件信息统计、文件流式读写等常用功能。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```js
12import fs from '@ohos.file.fs';
13```
14
15## 使用说明
16
17使用该功能模块对文件/目录进行操作前,需要先获取其应用沙箱路径,获取方式及其接口用法请参考:
18
19**Stage模型**
20
21 ```js
22import UIAbility from '@ohos.app.ability.UIAbility';
23
24export default class EntryAbility extends UIAbility {
25    onWindowStageCreate(windowStage) {
26        let context = this.context;
27        let pathDir = context.filesDir;
28    }
29}
30 ```
31
32**FA模型**
33
34 ```js
35 import featureAbility from '@ohos.ability.featureAbility';
36
37 let context = featureAbility.getContext();
38 context.getFilesDir().then((data) => {
39      let pathDir = data;
40 })
41 ```
42
43FA模型context的具体获取方法参见[FA模型](js-apis-inner-app-context.md#Context模块)。
44
45## fs.stat
46
47stat(file: string|number): Promise<Stat>
48
49获取文件详细属性信息,使用Promise异步回调。
50
51**系统能力**:SystemCapability.FileManagement.File.FileIO
52
53**参数:**
54
55| 参数名 | 类型   | 必填 | 说明                       |
56| ------ | ------ | ---- | -------------------------- |
57| file   | string\|number | 是   | 文件应用沙箱路径path或已打开的文件描述符fd。 |
58
59**返回值:**
60
61  | 类型                           | 说明         |
62  | ---------------------------- | ---------- |
63  | Promise<[Stat](#stat)> | Promise对象。返回文件的具体信息。 |
64
65**错误码:**
66
67接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
68
69**示例:**
70
71  ```js
72  let filePath = pathDir + "/test.txt";
73  fs.stat(filePath).then((stat) => {
74      console.info("get file info succeed, the size of file is " + stat.size);
75  }).catch((err) => {
76      console.info("get file info failed with error message: " + err.message + ", error code: " + err.code);
77  });
78  ```
79
80## fs.stat
81
82stat(file: string|number, callback: AsyncCallback<Stat>): void
83
84获取文件详细属性信息,使用callback异步回调。
85
86**系统能力**:SystemCapability.FileManagement.File.FileIO
87
88**参数:**
89
90| 参数名   | 类型                               | 必填 | 说明                           |
91| -------- | ---------------------------------- | ---- | ------------------------------ |
92| file     | string\|number                            | 是   | 文件应用沙箱路径path或已打开的文件描述符fd。     |
93| callback | AsyncCallback<[Stat](#stat)> | 是   | 异步获取文件的信息之后的回调。 |
94
95**错误码:**
96
97接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
98
99**示例:**
100
101  ```js
102  fs.stat(pathDir, (err, stat) => {
103    if (err) {
104      console.info("get file info failed with error message: " + err.message + ", error code: " + err.code);
105    } else {
106      console.info("get file info succeed, the size of file is " + stat.size);
107    }
108  });
109  ```
110
111## fs.statSync
112
113statSync(file: string|number): Stat
114
115以同步方法获取文件详细属性信息。
116
117**系统能力**:SystemCapability.FileManagement.File.FileIO
118
119**参数:**
120
121| 参数名 | 类型   | 必填 | 说明                       |
122| ------ | ------ | ---- | -------------------------- |
123| file   | string\|number | 是   | 文件应用沙箱路径path或已打开的文件描述符fd。 |
124
125**返回值:**
126
127  | 类型            | 说明         |
128  | ------------- | ---------- |
129  | [Stat](#stat) | 表示文件的具体信息。 |
130
131**错误码:**
132
133接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
134
135**示例:**
136
137  ```js
138  let stat = fs.statSync(pathDir);
139  console.info("get file info succeed, the size of file is " + stat.size);
140  ```
141
142## fs.access
143
144access(path: string): Promise<boolean>
145
146检查文件是否存在,使用Promise异步回调。
147
148**系统能力**:SystemCapability.FileManagement.File.FileIO
149
150**参数:**
151
152| 参数名 | 类型   | 必填 | 说明                                                         |
153| ------ | ------ | ---- | ------------------------------------------------------------ |
154| path   | string | 是   | 文件应用沙箱路径。                                   |
155
156**返回值:**
157
158  | 类型                  | 说明                           |
159  | ------------------- | ---------------------------- |
160  | Promise<boolean> | Promise对象。返回boolean,表示文件是否存在。 |
161
162**错误码:**
163
164接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
165
166**示例:**
167
168  ```js
169  let filePath = pathDir + "/test.txt";
170  fs.access(filePath).then((res) => {
171    if (res) {
172      console.info("file exists");
173    }
174  }).catch((err) => {
175    console.info("access failed with error message: " + err.message + ", error code: " + err.code);
176  });
177  ```
178
179## fs.access
180
181access(path: string, callback: AsyncCallback<boolean>): void
182
183检查文件是否存在,使用callback异步回调。
184
185**系统能力**:SystemCapability.FileManagement.File.FileIO
186
187**参数:**
188
189| 参数名   | 类型                      | 必填 | 说明                                                         |
190| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
191| path     | string                    | 是   | 文件应用沙箱路径。                                   |
192| callback | AsyncCallback<boolean> | 是   | 异步检查文件是否存在的回调,如果存在,回调返回true,否则返回false。 |
193
194**错误码:**
195
196接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
197
198**示例:**
199
200  ```js
201  let filePath = pathDir + "/test.txt";
202  fs.access(filePath, (err, res) => {
203    if (err) {
204      console.info("access failed with error message: " + err.message + ", error code: " + err.code);
205    } else {
206      if (res) {
207        console.info("file exists");
208      }
209    }
210  });
211  ```
212
213## fs.accessSync
214
215accessSync(path: string): boolean
216
217以同步方法检查文件是否存在。
218
219**系统能力**:SystemCapability.FileManagement.File.FileIO
220
221**参数:**
222
223| 参数名 | 类型   | 必填 | 说明                                                         |
224| ------ | ------ | ---- | ------------------------------------------------------------ |
225| path   | string | 是   | 文件应用沙箱路径。                                   |
226
227**返回值:**
228
229  | 类型                  | 说明                           |
230  | ------------------- | ---------------------------- |
231  | boolean | 返回true,表示文件存在;返回false,表示文件不存在。 |
232
233**错误码:**
234
235接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
236
237**示例:**
238
239  ```js
240  let filePath = pathDir + "/test.txt";
241  try {
242      let res = fs.accessSync(filePath);
243      if (res) {
244        console.info("file exists");
245      }
246  } catch(err) {
247      console.info("accessSync failed with error message: " + err.message + ", error code: " + err.code);
248  }
249  ```
250
251
252## fs.close
253
254close(file: File|number): Promise<void>
255
256关闭文件,使用Promise异步回调。
257
258**系统能力**:SystemCapability.FileManagement.File.FileIO
259
260**参数:**
261
262  | 参数名  | 类型     | 必填   | 说明           |
263  | ---- | ------ | ---- | ------------ |
264  | file   | [File](#file)\|number | 是    | 已打开的File对象或已打开的文件描述符fd。 |
265
266**返回值:**
267
268  | 类型                  | 说明                           |
269  | ------------------- | ---------------------------- |
270  | Promise<void> | Promise对象。无返回值。 |
271
272**错误码:**
273
274接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
275
276**示例:**
277
278  ```js
279  let filePath = pathDir + "/test.txt";
280  let file = fs.openSync(filePath);
281  fs.close(file).then(() => {
282      console.info("close file succeed");
283      fs.closeSync(file);
284  }).catch((err) => {
285      console.info("close file failed with error message: " + err.message + ", error code: " + err.code);
286  });
287  ```
288
289## fs.close
290
291close(file: File|number, callback: AsyncCallback<void>): void
292
293关闭文件,使用callback异步回调。
294
295**系统能力**:SystemCapability.FileManagement.File.FileIO
296
297**参数:**
298
299  | 参数名      | 类型                        | 必填   | 说明           |
300  | -------- | ------------------------- | ---- | ------------ |
301  | file       | [File](#file)\|number                  | 是    | 已打开的File对象或已打开的文件描述符fd。 |
302  | callback | AsyncCallback<void> | 是    | 异步关闭文件之后的回调。 |
303
304**错误码:**
305
306接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
307
308**示例:**
309
310  ```js
311  let filePath = pathDir + "/test.txt";
312  let file = fs.openSync(filePath);
313  fs.close(file, (err) => {
314    if (err) {
315      console.info("close file failed with error message: " + err.message + ", error code: " + err.code);
316    } else {
317      console.info("close file success");
318    }
319  });
320  ```
321
322## fs.closeSync
323
324closeSync(file: File|number): void
325
326以同步方法关闭文件。
327
328**系统能力**:SystemCapability.FileManagement.File.FileIO
329
330**参数:**
331
332  | 参数名  | 类型     | 必填   | 说明           |
333  | ---- | ------ | ---- | ------------ |
334  | file   | [File](#file)\|number | 是    | 已打开的File对象或已打开的文件描述符fd。 |
335
336**错误码:**
337
338接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
339
340**示例:**
341
342  ```js
343  let filePath = pathDir + "/test.txt";
344  let file = fs.openSync(filePath);
345  fs.closeSync(file);
346  ```
347
348## fs.copyFile
349
350copyFile(src: string|number, dest: string|number, mode?: number): Promise<void>
351
352复制文件,使用Promise异步回调。
353
354**系统能力**:SystemCapability.FileManagement.File.FileIO
355
356**参数:**
357
358  | 参数名  | 类型                         | 必填   | 说明                                       |
359  | ---- | -------------------------- | ---- | ---------------------------------------- |
360  | src  | string\|number | 是    | 待复制文件的路径或待复制文件的文件描述符。                      |
361  | dest | string\|number | 是    | 目标文件路径或目标文件的文件描述符。                          |
362  | mode | number                     | 否    | mode提供覆盖文件的选项,当前仅支持0,且默认为0。<br/>0:完全覆盖目标文件。 |
363
364**返回值:**
365
366  | 类型                  | 说明                           |
367  | ------------------- | ---------------------------- |
368  | Promise&lt;void&gt; | Promise对象。无返回值。 |
369
370**错误码:**
371
372接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
373
374**示例:**
375
376  ```js
377  let srcPath = pathDir + "/srcDir/test.txt";
378  let dstPath = pathDir + "/dstDir/test.txt";
379  fs.copyFile(srcPath, dstPath).then(() => {
380      console.info("copy file succeed");
381  }).catch((err) => {
382      console.info("copy file failed with error message: " + err.message + ", error code: " + err.code);
383  });
384  ```
385
386## fs.copyFile
387
388copyFile(src: string|number, dest: string|number, mode?: number, callback: AsyncCallback&lt;void&gt;): void
389
390复制文件,使用callback异步回调。
391
392**系统能力**:SystemCapability.FileManagement.File.FileIO
393
394**参数:**
395
396  | 参数名      | 类型                         | 必填   | 说明                                       |
397  | -------- | -------------------------- | ---- | ---------------------------------------- |
398  | src      | string\|number | 是    | 待复制文件的路径或待复制文件的文件描述符。                      |
399  | dest     | string\|number | 是    | 目标文件路径或目标文件的文件描述符。                          |
400  | mode     | number                     | 否    | mode提供覆盖文件的选项,当前仅支持0,且默认为0。<br/>0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
401  | callback | AsyncCallback&lt;void&gt;  | 是    | 异步复制文件之后的回调。                             |
402
403**错误码:**
404
405接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
406
407**示例:**
408
409  ```js
410  let srcPath = pathDir + "/srcDir/test.txt";
411  let dstPath = pathDir + "/dstDir/test.txt";
412  fs.copyFile(srcPath, dstPath, (err) => {
413    if (err) {
414      console.info("copy file failed with error message: " + err.message + ", error code: " + err.code);
415    } else {
416      console.info("copy file success");
417    }
418  });
419  ```
420
421
422## fs.copyFileSync
423
424copyFileSync(src: string|number, dest: string|number, mode?: number): void
425
426以同步方法复制文件。
427
428**系统能力**:SystemCapability.FileManagement.File.FileIO
429
430**参数:**
431
432  | 参数名  | 类型                         | 必填   | 说明                                       |
433  | ---- | -------------------------- | ---- | ---------------------------------------- |
434  | src  | string\|number | 是    | 待复制文件的路径或待复制文件的文件描述符。                      |
435  | dest | string\|number | 是    | 目标文件路径或目标文件的文件描述符。                          |
436  | mode | number                     | 否    | mode提供覆盖文件的选项,当前仅支持0,且默认为0。<br/>0:完全覆盖目标文件,未覆盖部分将被裁切掉。 |
437
438**错误码:**
439
440接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
441
442**示例:**
443
444  ```js
445  let srcPath = pathDir + "/srcDir/test.txt";
446  let dstPath = pathDir + "/dstDir/test.txt";
447  fs.copyFileSync(srcPath, dstPath);
448  ```
449
450## fs.mkdir
451
452mkdir(path: string): Promise&lt;void&gt;
453
454创建目录,使用Promise异步回调。
455
456**系统能力**:SystemCapability.FileManagement.File.FileIO
457
458**参数:**
459
460| 参数名 | 类型   | 必填 | 说明                                                         |
461| ------ | ------ | ---- | ------------------------------------------------------------ |
462| path   | string | 是   | 目录的应用沙箱路径。                                   |
463
464**返回值:**
465
466  | 类型                  | 说明                           |
467  | ------------------- | ---------------------------- |
468  | Promise&lt;void&gt; | Promise对象。无返回值。 |
469
470**错误码:**
471
472接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
473
474**示例:**
475
476  ```js
477  let dirPath = pathDir + "/testDir";
478  fs.mkdir(dirPath).then(() => {
479      console.info("mkdir succeed");
480  }).catch((err) => {
481      console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
482  });
483  ```
484
485## fs.mkdir
486
487mkdir(path: string, callback: AsyncCallback&lt;void&gt;): void
488
489创建目录,使用callback异步回调。
490
491**系统能力**:SystemCapability.FileManagement.File.FileIO
492
493**参数:**
494
495| 参数名   | 类型                      | 必填 | 说明                                                         |
496| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
497| path     | string                    | 是   | 目录的应用沙箱路径。                                   |
498| callback | AsyncCallback&lt;void&gt; | 是   | 异步创建目录操作完成之后的回调。                             |
499
500**错误码:**
501
502接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
503
504**示例:**
505
506  ```js
507  let dirPath = pathDir + "/testDir";
508  fs.mkdir(dirPath, (err) => {
509    if (err) {
510      console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
511    } else {
512      console.info("mkdir success");
513    }
514  });
515  ```
516
517## fs.mkdirSync
518
519mkdirSync(path: string): void
520
521以同步方法创建目录。
522
523**系统能力**:SystemCapability.FileManagement.File.FileIO
524
525**参数:**
526
527| 参数名 | 类型   | 必填 | 说明                                                         |
528| ------ | ------ | ---- | ------------------------------------------------------------ |
529| path   | string | 是   | 目录的应用沙箱路径。                                   |
530
531**错误码:**
532
533接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
534
535**示例:**
536
537  ```js
538  let dirPath = pathDir + "/testDir";
539  fs.mkdirSync(dirPath);
540  ```
541
542## fs.open
543
544open(path: string, mode?: number): Promise&lt;File&gt;
545
546打开文件,使用Promise异步回调。支持使用URI打开文件。
547
548**系统能力**:SystemCapability.FileManagement.File.FileIO
549
550**参数:**
551
552| 参数名 | 类型   | 必填 | 说明                                                         |
553| ------ | ------ | ---- | ------------------------------------------------------------ |
554| path   | string | 是   | 文件的应用沙箱路径或文件URI。                                   |
555| mode  | number | 否   | 打开文件的[选项](#openmode),必须指定如下选项中的一个,默认以只读方式打开:<br/>-&nbsp;OpenMode.READ_ONLY(0o0):只读打开。<br/>-&nbsp;OpenMode.WRITE_ONLY(0o1):只写打开。<br/>-&nbsp;OpenMode.READ_WRITE(0o2):读写打开。<br/>给定如下功能选项,以按位或的方式追加,默认不给定任何额外选项:<br/>-&nbsp;OpenMode.CREATE(0o100):若文件不存在,则创建文件。<br/>-&nbsp;OpenMode.TRUNC(0o1000):如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。<br/>-&nbsp;OpenMode.APPEND(0o2000):以追加方式打开,后续写将追加到文件末尾。<br/>-&nbsp;OpenMode.NONBLOCK(0o4000):如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续&nbsp;IO&nbsp;进行非阻塞操作。<br/>-&nbsp;OpenMode.DIR(0o200000):如果path不指向目录,则出错。<br/>-&nbsp;OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。<br/>-&nbsp;OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。 |
556
557**返回值:**
558
559  | 类型                    | 说明          |
560  | --------------------- | ----------- |
561  | Promise&lt;[File](#file)&gt; | Promise对象。返回File对象。 |
562
563**错误码:**
564
565接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
566
567**示例:**
568
569  ```js
570  let filePath = pathDir + "/test.txt";
571  fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).then((file) => {
572      console.info("file fd: " + file.fd);
573  }).catch((err) => {
574      console.info("open file failed with error message: " + err.message + ", error code: " + err.code);
575  });
576  ```
577
578
579## fs.open
580
581open(path: string, mode?: number, callback: AsyncCallback&lt;File&gt;): void
582
583打开文件,使用callback异步回调。支持使用URI打开文件。
584
585**系统能力**:SystemCapability.FileManagement.File.FileIO
586
587**参数:**
588
589| 参数名   | 类型                            | 必填 | 说明                                                         |
590| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
591| path     | string                          | 是   | 文件的应用沙箱路径或URI。                                   |
592| mode  | number | 否   | 打开文件的[选项](#openmode),必须指定如下选项中的一个,默认以只读方式打开:<br/>-&nbsp;OpenMode.READ_ONLY(0o0):只读打开。<br/>-&nbsp;OpenMode.WRITE_ONLY(0o1):只写打开。<br/>-&nbsp;OpenMode.READ_WRITE(0o2):读写打开。<br/>给定如下功能选项,以按位或的方式追加,默认不给定任何额外选项:<br/>-&nbsp;OpenMode.CREATE(0o100):若文件不存在,则创建文件。<br/>-&nbsp;OpenMode.TRUNC(0o1000):如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。<br/>-&nbsp;OpenMode.APPEND(0o2000):以追加方式打开,后续写将追加到文件末尾。<br/>-&nbsp;OpenMode.NONBLOCK(0o4000):如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续&nbsp;IO&nbsp;进行非阻塞操作。<br/>-&nbsp;OpenMode.DIR(0o200000):如果path不指向目录,则出错。<br/>-&nbsp;OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。<br/>-&nbsp;OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。 |
593
594**错误码:**
595
596接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
597
598**示例:**
599
600  ```js
601  let filePath = pathDir + "/test.txt";
602  fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE, (err, file) => {
603    if (err) {
604      console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
605    } else {
606      console.info("file fd: " + file.fd);
607    }
608  });
609  ```
610
611## fs.openSync
612
613openSync(path: string, mode?: number): File
614
615以同步方法打开文件。支持使用URI打开文件。
616
617**系统能力**:SystemCapability.FileManagement.File.FileIO
618
619**参数:**
620
621| 参数名 | 类型   | 必填 | 说明                                                         |
622| ------ | ------ | ---- | ------------------------------------------------------------ |
623| path   | string | 是   | 打开文件的应用沙箱路径或URI。                                   |
624| mode  | number | 否   | 打开文件的[选项](#openmode),必须指定如下选项中的一个,默认以只读方式打开:<br/>-&nbsp;OpenMode.READ_ONLY(0o0):只读打开。<br/>-&nbsp;OpenMode.WRITE_ONLY(0o1):只写打开。<br/>-&nbsp;OpenMode.READ_WRITE(0o2):读写打开。<br/>给定如下功能选项,以按位或的方式追加,默认不给定任何额外选项:<br/>-&nbsp;OpenMode.CREATE(0o100):若文件不存在,则创建文件。<br/>-&nbsp;OpenMode.TRUNC(0o1000):如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。<br/>-&nbsp;OpenMode.APPEND(0o2000):以追加方式打开,后续写将追加到文件末尾。<br/>-&nbsp;OpenMode.NONBLOCK(0o4000):如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续&nbsp;IO&nbsp;进行非阻塞操作。<br/>-&nbsp;OpenMode.DIR(0o200000):如果path不指向目录,则出错。<br/>-&nbsp;OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。<br/>-&nbsp;OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。 |
625
626**返回值:**
627
628  | 类型     | 说明          |
629  | ------ | ----------- |
630  | [File](#file) | 打开的File对象。 |
631
632**错误码:**
633
634接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
635
636**示例:**
637
638  ```js
639  let filePath = pathDir + "/test.txt";
640  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
641  console.info("file fd: " + file.fd);
642  fs.closeSync(file);
643  ```
644
645## fs.read
646
647read(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; }): Promise&lt;number&gt;
648
649从文件读取数据,使用Promise异步回调。
650
651**系统能力**:SystemCapability.FileManagement.File.FileIO
652
653**参数:**
654
655| 参数名  | 类型        | 必填 | 说明                                                         |
656| ------- | ----------- | ---- | ------------------------------------------------------------ |
657| fd      | number      | 是   | 已打开的文件描述符。                                     |
658| buffer  | ArrayBuffer | 是   | 用于保存读取到的文件数据的缓冲区。                           |
659| options | Object      | 否   | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度。|
660
661**返回值:**
662
663  | 类型                                 | 说明     |
664  | ---------------------------------- | ------ |
665  | Promise&lt;number&gt; | Promise对象。返回读取的结果。 |
666
667**错误码:**
668
669接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
670
671**示例:**
672
673  ```js
674  let filePath = pathDir + "/test.txt";
675  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
676  let buf = new ArrayBuffer(4096);
677  fs.read(file.fd, buf).then((readLen) => {
678      console.info("read file data succeed");
679      console.info(String.fromCharCode.apply(null, new Uint8Array(buf.slice(0, readLen))));
680      fs.closeSync(file);
681  }).catch((err) => {
682      console.info("read file data failed with error message: " + err.message + ", error code: " + err.code);
683  });
684  ```
685
686## fs.read
687
688read(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; }, callback: AsyncCallback&lt;number&gt;): void
689
690从文件读取数据,使用callback异步回调。
691
692**系统能力**:SystemCapability.FileManagement.File.FileIO
693
694**参数:**
695
696  | 参数名      | 类型                                       | 必填   | 说明                                       |
697  | -------- | ---------------------------------------- | ---- | ---------------------------------------- |
698  | fd       | number                                   | 是    | 已打开的文件描述符。                             |
699  | buffer   | ArrayBuffer                              | 是    | 用于保存读取到的文件数据的缓冲区。                        |
700  | options | Object      | 否   | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度。|
701  | callback | AsyncCallback&lt;number&gt; | 是    | 异步读取数据之后的回调。                             |
702
703**错误码:**
704
705接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
706
707**示例:**
708
709  ```js
710  let filePath = pathDir + "/test.txt";
711  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
712  let buf = new ArrayBuffer(4096);
713  fs.read(file.fd, buf, (err, readLen) => {
714    if (err) {
715      console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
716    } else {
717      console.info("read file data succeed");
718      console.info(String.fromCharCode.apply(null, new Uint8Array(buf.slice(0, readLen))));
719      fs.closeSync(file);
720    }
721  });
722  ```
723
724## fs.readSync
725
726readSync(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; }): number
727
728以同步方法从文件读取数据。
729
730**系统能力**:SystemCapability.FileManagement.File.FileIO
731
732**参数:**
733
734  | 参数名     | 类型          | 必填   | 说明                                       |
735  | ------- | ----------- | ---- | ---------------------------------------- |
736  | fd      | number      | 是    | 已打开的文件描述符。                             |
737  | buffer  | ArrayBuffer | 是    | 用于保存读取到的文件数据的缓冲区。                        |
738  | options | Object      | 否   | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度。|
739
740**返回值:**
741
742  | 类型     | 说明       |
743  | ------ | -------- |
744  | number | 实际读取的长度。 |
745
746**错误码:**
747
748接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
749
750**示例:**
751
752  ```js
753  let filePath = pathDir + "/test.txt";
754  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
755  let buf = new ArrayBuffer(4096);
756  let num = fs.readSync(file.fd, buf);
757  fs.closeSync(file);
758  ```
759
760## fs.rmdir
761
762rmdir(path: string): Promise&lt;void&gt;
763
764删除整个目录,使用Promise异步回调。
765
766**系统能力**:SystemCapability.FileManagement.File.FileIO
767
768**参数:**
769
770| 参数名 | 类型   | 必填 | 说明                       |
771| ------ | ------ | ---- | -------------------------- |
772| path   | string | 是   | 目录的应用沙箱路径。 |
773
774**返回值:**
775
776  | 类型                  | 说明                           |
777  | ------------------- | ---------------------------- |
778  | Promise&lt;void&gt; | Promise对象。无返回值。 |
779
780**错误码:**
781
782接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
783
784**示例:**
785
786  ```js
787  let dirPath = pathDir + "/testDir";
788  fs.rmdir(dirPath).then(() => {
789      console.info("rmdir succeed");
790  }).catch((err) => {
791      console.info("rmdir failed with error message: " + err.message + ", error code: " + err.code);
792  });
793  ```
794
795## fs.rmdir
796
797rmdir(path: string, callback: AsyncCallback&lt;void&gt;): void
798
799删除整个目录,使用callback异步回调。
800
801**系统能力**:SystemCapability.FileManagement.File.FileIO
802
803**参数:**
804
805| 参数名   | 类型                      | 必填 | 说明                       |
806| -------- | ------------------------- | ---- | -------------------------- |
807| path     | string                    | 是   | 目录的应用沙箱路径。 |
808| callback | AsyncCallback&lt;void&gt; | 是   | 异步删除目录之后的回调。   |
809
810**错误码:**
811
812接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
813
814**示例:**
815
816  ```js
817  let dirPath = pathDir + "/testDir";
818  fs.rmdir(dirPath, (err) => {
819    if (err) {
820      console.info("rmdir failed with error message: " + err.message + ", error code: " + err.code);
821    } else {
822      console.info("rmdir succeed");
823    }
824  });
825  ```
826
827## fs.rmdirSync
828
829rmdirSync(path: string): void
830
831以同步方法删除目录。
832
833**系统能力**:SystemCapability.FileManagement.File.FileIO
834
835**参数:**
836
837| 参数名 | 类型   | 必填 | 说明                       |
838| ------ | ------ | ---- | -------------------------- |
839| path   | string | 是   | 目录的应用沙箱路径。 |
840
841**错误码:**
842
843接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
844
845**示例:**
846
847  ```js
848  let dirPath = pathDir + "/testDir";
849  fs.rmdirSync(dirPath);
850  ```
851
852## fs.unlink
853
854unlink(path: string): Promise&lt;void&gt;
855
856删除单个文件,使用Promise异步回调。
857
858**系统能力**:SystemCapability.FileManagement.File.FileIO
859
860**参数:**
861
862| 参数名 | 类型   | 必填 | 说明                       |
863| ------ | ------ | ---- | -------------------------- |
864| path   | string | 是   | 文件的应用沙箱路径。 |
865
866**返回值:**
867
868  | 类型                  | 说明                           |
869  | ------------------- | ---------------------------- |
870  | Promise&lt;void&gt; | Promise对象。无返回值。 |
871
872**错误码:**
873
874接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
875
876**示例:**
877
878  ```js
879  let filePath = pathDir + "/test.txt";
880  fs.unlink(filePath).then(() => {
881      console.info("remove file succeed");
882  }).catch((err) => {
883      console.info("remove file failed with error message: " + err.message + ", error code: " + err.codeor);
884  });
885  ```
886
887## fs.unlink
888
889unlink(path: string, callback: AsyncCallback&lt;void&gt;): void
890
891删除文件,使用callback异步回调。
892
893**系统能力**:SystemCapability.FileManagement.File.FileIO
894
895**参数:**
896
897| 参数名   | 类型                      | 必填 | 说明                       |
898| -------- | ------------------------- | ---- | -------------------------- |
899| path     | string                    | 是   | 文件的应用沙箱路径。 |
900| callback | AsyncCallback&lt;void&gt; | 是   | 异步删除文件之后的回调。   |
901
902**错误码:**
903
904接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
905
906**示例:**
907
908  ```js
909  let filePath = pathDir + "/test.txt";
910  fs.unlink(filePath, (err) => {
911    if (err) {
912      console.info("remove file failed with error message: " + err.message + ", error code: " + err.code);
913    } else {
914      console.info("remove file succeed");
915    }
916  });
917  ```
918
919## fs.unlinkSync
920
921unlinkSync(path: string): void
922
923以同步方法删除文件。
924
925**系统能力**:SystemCapability.FileManagement.File.FileIO
926
927**参数:**
928
929| 参数名 | 类型   | 必填 | 说明                       |
930| ------ | ------ | ---- | -------------------------- |
931| path   | string | 是   | 文件的应用沙箱路径。 |
932
933**错误码:**
934
935接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
936
937**示例:**
938
939  ```js
940  let filePath = pathDir + "/test.txt";
941  fs.unlinkSync(filePath);
942  ```
943
944
945## fs.write
946
947write(fd: number, buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; encoding?: string; }): Promise&lt;number&gt;
948
949将数据写入文件,使用Promise异步回调。
950
951**系统能力**:SystemCapability.FileManagement.File.FileIO
952
953**参数:**
954
955  | 参数名     | 类型                              | 必填   | 说明                                       |
956  | ------- | ------------------------------- | ---- | ---------------------------------------- |
957  | fd      | number                          | 是    | 已打开的文件描述符。                             |
958  | buffer  | ArrayBuffer\|string | 是    | 待写入文件的数据,可来自缓冲区或字符串。                     |
959  | options | Object                          | 否    | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。<br/>-&nbsp;length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认&nbsp;'utf-8'。当前仅支持&nbsp;'utf-8'。|
960
961**返回值:**
962
963  | 类型                    | 说明       |
964  | --------------------- | -------- |
965  | Promise&lt;number&gt; | Promise对象。返回实际写入的长度。 |
966
967**错误码:**
968
969接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
970
971**示例:**
972
973  ```js
974  let filePath = pathDir + "/test.txt";
975  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
976  fs.write(file.fd, "hello, world").then((writeLen) => {
977    console.info("write data to file succeed and size is:" + writeLen);
978    fs.closeSync(file);
979  }).catch((err) => {
980    console.info("write data to file failed with error message: " + err.message + ", error code: " + err.code);
981  });
982  ```
983
984## fs.write
985
986write(fd: number, buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; encoding?: string; }, callback: AsyncCallback&lt;number&gt;): void
987
988将数据写入文件,使用callback异步回调。
989
990**系统能力**:SystemCapability.FileManagement.File.FileIO
991
992**参数:**
993
994  | 参数名      | 类型                              | 必填   | 说明                                       |
995  | -------- | ------------------------------- | ---- | ---------------------------------------- |
996  | fd       | number                          | 是    | 已打开的文件描述符。                             |
997  | buffer   | ArrayBuffer\|string | 是    | 待写入文件的数据,可来自缓冲区或字符串。                     |
998  | options | Object                          | 否    | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。<br/>-&nbsp;length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认&nbsp;'utf-8'。当前仅支持&nbsp;'utf-8'。|
999  | callback | AsyncCallback&lt;number&gt;     | 是    | 异步将数据写入完成后执行的回调函数。                       |
1000
1001**错误码:**
1002
1003接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1004
1005**示例:**
1006
1007  ```js
1008  let filePath = pathDir + "/test.txt";
1009  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
1010  fs.write(file.fd, "hello, world", (err, writeLen) => {
1011    if (err) {
1012      console.info("write failed with error message: " + err.message + ", error code: " + err.code);
1013    } else {
1014      console.info("write data to file succeed and size is:" + writeLen);
1015      fs.closeSync(file);
1016    }
1017  });
1018  ```
1019
1020## fs.writeSync
1021
1022writeSync(fd: number, buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; encoding?: string; }): number
1023
1024以同步方法将数据写入文件。
1025
1026**系统能力**:SystemCapability.FileManagement.File.FileIO
1027
1028**参数:**
1029
1030  | 参数名     | 类型                              | 必填   | 说明                                       |
1031  | ------- | ------------------------------- | ---- | ---------------------------------------- |
1032  | fd      | number                          | 是    | 已打开的文件描述符。                             |
1033  | buffer  | ArrayBuffer\|string | 是    | 待写入文件的数据,可来自缓冲区或字符串。                     |
1034  | options | Object                          | 否    | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。<br/>-&nbsp;length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认&nbsp;'utf-8'。当前仅支持&nbsp;'utf-8'。|
1035
1036**返回值:**
1037
1038  | 类型     | 说明       |
1039  | ------ | -------- |
1040  | number | 实际写入的长度。 |
1041
1042**错误码:**
1043
1044接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1045
1046**示例:**
1047
1048  ```js
1049  let filePath = pathDir + "/test.txt";
1050  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
1051  let writeLen = fs.writeSync(file.fd, "hello, world");
1052  console.info("write data to file succeed and size is:" + writeLen);
1053  fs.closeSync(file);
1054  ```
1055
1056## fs.truncate
1057
1058truncate(file: string|number, len?: number): Promise&lt;void&gt;
1059
1060截断文件,使用Promise异步回调。
1061
1062**系统能力**:SystemCapability.FileManagement.File.FileIO
1063
1064**参数:**
1065
1066| 参数名 | 类型   | 必填 | 说明                             |
1067| ------ | ------ | ---- | -------------------------------- |
1068| file   | string\|number | 是   | 文件的应用沙箱路径或已打开的文件描述符fd。       |
1069| len    | number | 否   | 文件截断后的长度,以字节为单位。默认为0。 |
1070
1071**返回值:**
1072
1073  | 类型                  | 说明                           |
1074  | ------------------- | ---------------------------- |
1075  | Promise&lt;void&gt; | Promise对象。无返回值。 |
1076
1077**错误码:**
1078
1079接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1080
1081**示例:**
1082
1083  ```js
1084  let filePath = pathDir + "/test.txt";
1085  let len = 5;
1086  fs.truncate(filePath, len).then(() => {
1087      console.info("truncate file succeed");
1088  }).catch((err) => {
1089      console.info("truncate file failed with error message: " + err.message + ", error code: " + err.code);
1090  });
1091  ```
1092
1093## fs.truncate
1094
1095truncate(file: string|number, len?: number, callback: AsyncCallback&lt;void&gt;): void
1096
1097截断文件,使用callback异步回调。
1098
1099**系统能力**:SystemCapability.FileManagement.File.FileIO
1100
1101**参数:**
1102
1103| 参数名   | 类型                      | 必填 | 说明                             |
1104| -------- | ------------------------- | ---- | -------------------------------- |
1105| file     | string\|number                    | 是   | 文件的应用沙箱路径或已打开的文件描述符fd。       |
1106| len      | number                    | 否   | 文件截断后的长度,以字节为单位。默认为0。 |
1107| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数,本调用无返回值。   |
1108
1109**错误码:**
1110
1111接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1112
1113**示例:**
1114
1115  ```js
1116  let filePath = pathDir + "/test.txt";
1117  let len = 5;
1118  fs.truncate(filePath, len, (err) => {
1119    if (err) {
1120      console.info("truncate failed with error message: " + err.message + ", error code: " + err.code);
1121    } else {
1122      console.info("truncate success");
1123    }
1124  });
1125  ```
1126
1127## fs.truncateSync
1128
1129truncateSync(file: string|number, len?: number): void
1130
1131以同步方法截断文件。
1132
1133**系统能力**:SystemCapability.FileManagement.File.FileIO
1134
1135**参数:**
1136
1137| 参数名 | 类型   | 必填 | 说明                             |
1138| ------ | ------ | ---- | -------------------------------- |
1139| file   | string\|number | 是   | 文件的应用沙箱路径或已打开的文件描述符fd。       |
1140| len    | number | 否   | 文件截断后的长度,以字节为单位。默认为0。 |
1141
1142**错误码:**
1143
1144接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1145
1146**示例:**
1147
1148  ```js
1149  let filePath = pathDir + "/test.txt";
1150  let len = 5;
1151  fs.truncateSync(filePath, len);
1152  ```
1153
1154## fs.readText
1155
1156readText(filePath: string, options?: { offset?: number; length?: number; encoding?: string; }): Promise&lt;string&gt;
1157
1158基于文本方式读取文件(即直接读取文件的文本内容),使用Promise异步回调。
1159
1160**系统能力**:SystemCapability.FileManagement.File.FileIO
1161
1162**参数:**
1163
1164| 参数名   | 类型   | 必填 | 说明                                                         |
1165| -------- | ------ | ---- | ------------------------------------------------------------ |
1166| filePath | string | 是   | 文件的应用沙箱路径。                                   |
1167| options  | Object | 否   | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认文件长度。<br/>-&nbsp;encoding,string类型,当数据是&nbsp;string&nbsp;类型时有效,表示数据的编码方式,默认&nbsp;'utf-8',仅支持&nbsp;'utf-8'。 |
1168
1169**返回值:**
1170
1171  | 类型                    | 说明         |
1172  | --------------------- | ---------- |
1173  | Promise&lt;string&gt; | Promise对象。返回读取文件的内容。 |
1174
1175**错误码:**
1176
1177接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1178
1179**示例:**
1180
1181  ```js
1182  let filePath = pathDir + "/test.txt";
1183  fs.readText(filePath).then((str) => {
1184      console.info("readText succeed:" + str);
1185  }).catch((err) => {
1186      console.info("readText failed with error message: " + err.message + ", error code: " + err.code);
1187  });
1188  ```
1189
1190## fs.readText
1191
1192readText(filePath: string, options?: { offset?: number; length?: number; encoding?: string; }, callback: AsyncCallback&lt;string&gt;): void
1193
1194基于文本方式读取文件(即直接读取文件的文本内容),使用callback异步回调。
1195
1196**系统能力**:SystemCapability.FileManagement.File.FileIO
1197
1198**参数:**
1199
1200| 参数名   | 类型                        | 必填 | 说明                                                         |
1201| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
1202| filePath | string                      | 是   | 文件的应用沙箱路径。                                   |
1203| options  | Object                      | 否   | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认文件长度。<br/>-&nbsp;encoding,string类型,表示数据的编码方式,默认&nbsp;'utf-8',仅支持&nbsp;'utf-8'。 |
1204| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回读取文件的内容。                         |
1205
1206**错误码:**
1207
1208接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1209
1210**示例:**
1211
1212  ```js
1213  let filePath = pathDir + "/test.txt";
1214  fs.readText(filePath, { offset: 1, encoding: 'UTF-8' }, (err, str) => {
1215    if (err) {
1216      console.info("read text failed with error message: " + err.message + ", error code: " + err.code);
1217    } else {
1218      console.info("readText succeed:" + str);
1219    }
1220  });
1221  ```
1222
1223## fs.readTextSync
1224
1225readTextSync(filePath: string, options?: { offset?: number; length?: number; encoding?: string; }): string
1226
1227以同步方法基于文本方式读取文件(即直接读取文件的文本内容)。
1228
1229**系统能力**:SystemCapability.FileManagement.File.FileIO
1230
1231**参数:**
1232
1233| 参数名   | 类型   | 必填 | 说明                                                         |
1234| -------- | ------ | ---- | ------------------------------------------------------------ |
1235| filePath | string | 是   | 文件的应用沙箱路径。                                   |
1236| options  | Object | 否   | 支持如下选项:<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读取。<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认文件长度。<br/>-&nbsp;encoding,string类型,当数据是&nbsp;string&nbsp;类型时有效,表示数据的编码方式,默认&nbsp;'utf-8',仅支持&nbsp;'utf-8'。 |
1237
1238**返回值:**
1239
1240  | 类型   | 说明                 |
1241  | ------ | -------------------- |
1242  | string | 返回读取文件的内容。 |
1243
1244**错误码:**
1245
1246接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1247
1248**示例:**
1249
1250  ```js
1251  let filePath = pathDir + "/test.txt";
1252  let str = fs.readTextSync(filePath, {offset: 1, length: 3});
1253  console.info("readText succeed:" + str);
1254  ```
1255
1256## fs.lstat
1257
1258lstat(path: string): Promise&lt;Stat&gt;
1259
1260获取链接文件信息,使用Promise异步回调。
1261
1262**系统能力**:SystemCapability.FileManagement.File.FileIO
1263
1264**参数:**
1265
1266| 参数名 | 类型   | 必填 | 说明                                   |
1267| ------ | ------ | ---- | -------------------------------------- |
1268| path   | string | 是   | 文件的应用沙箱路径。 |
1269
1270**返回值:**
1271
1272  | 类型                           | 说明         |
1273  | ---------------------------- | ---------- |
1274  | Promise&lt;[Stat](#stat)&gt; | promise对象,返回文件对象,表示文件的具体信息,详情见stat。 |
1275
1276**错误码:**
1277
1278接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1279
1280**示例:**
1281
1282  ```js
1283  let filePath = pathDir + "/test.txt";
1284  fs.lstat(filePath).then((stat) => {
1285      console.info("get link status succeed, the size of file is" + stat.size);
1286  }).catch((err) => {
1287      console.info("get link status failed with error message: " + err.message + ", error code: " + err.code);
1288  });
1289  ```
1290
1291## fs.lstat
1292
1293lstat(path: string, callback: AsyncCallback&lt;Stat&gt;): void
1294
1295获取链接文件信息,使用callback异步回调。
1296
1297**系统能力**:SystemCapability.FileManagement.File.FileIO
1298
1299**参数:**
1300
1301| 参数名   | 类型                               | 必填 | 说明                                   |
1302| -------- | ---------------------------------- | ---- | -------------------------------------- |
1303| path     | string                             | 是   | 文件的应用沙箱路径。 |
1304| callback | AsyncCallback&lt;[Stat](#stat)&gt; | 是   | 回调函数,返回文件的具体信息。       |
1305
1306**错误码:**
1307
1308接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1309
1310**示例:**
1311
1312  ```js
1313  let filePath = pathDir + "/test.txt";
1314  fs.lstat(filePath, (err, stat) => {
1315      if (err) {
1316        console.info("lstat failed with error message: " + err.message + ", error code: " + err.code);
1317      } else {
1318        console.info("get link status succeed, the size of file is" + stat.size);
1319      }
1320  });
1321  ```
1322
1323## fs.lstatSync
1324
1325lstatSync(path: string): Stat
1326
1327以同步方法获取链接文件信息。
1328
1329**系统能力**:SystemCapability.FileManagement.File.FileIO
1330
1331**参数:**
1332
1333| 参数名 | 类型   | 必填 | 说明                                   |
1334| ------ | ------ | ---- | -------------------------------------- |
1335| path   | string | 是   | 文件的应用沙箱路径。 |
1336
1337**返回值:**
1338
1339  | 类型            | 说明         |
1340  | ------------- | ---------- |
1341  | [Stat](#stat) | 表示文件的具体信息。 |
1342
1343**错误码:**
1344
1345接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1346
1347**示例:**
1348
1349  ```js
1350  let filePath = pathDir + "/test.txt";
1351  let stat = fs.lstatSync(filePath);
1352  ```
1353
1354## fs.rename
1355
1356rename(oldPath: string, newPath: string): Promise&lt;void&gt;
1357
1358重命名文件或文件夹,使用Promise异步回调。
1359
1360**系统能力**:SystemCapability.FileManagement.File.FileIO
1361
1362**参数:**
1363
1364| 参数名  | 类型   | 必填 | 说明                         |
1365| ------- | ------ | ---- | ---------------------------- |
1366| oldPath | string | 是   | 文件的应用沙箱原路径。 |
1367| newPath | string | 是   | 文件的应用沙箱新路径。   |
1368
1369**返回值:**
1370
1371  | 类型                  | 说明                           |
1372  | ------------------- | ---------------------------- |
1373  | Promise&lt;void&gt; | Promise对象。无返回值。 |
1374
1375**错误码:**
1376
1377接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1378
1379**示例:**
1380
1381  ```js
1382  let srcFile = pathDir + "/test.txt";
1383  let dstFile = pathDir + "/new.txt";
1384  fs.rename(srcFile, dstFile).then(() => {
1385      console.info("rename succeed");
1386  }).catch((err) => {
1387      console.info("rename failed with error message: " + err.message + ", error code: " + err.code);
1388  });
1389  ```
1390
1391## fs.rename
1392
1393rename(oldPath: string, newPath: string, callback: AsyncCallback&lt;void&gt;): void
1394
1395重命名文件或文件夹,使用callback异步回调。
1396
1397**系统能力**:SystemCapability.FileManagement.File.FileIO
1398
1399**参数:**
1400
1401| 参数名   | 类型                      | 必填 | 说明                         |
1402| -------- | ------------------------- | ---- | ---------------------------- |
1403| oldPath | string | 是   | 文件的应用沙箱原路径。 |
1404| newPath | string | 是   | 文件的应用沙箱新路径。   |
1405| callback | AsyncCallback&lt;void&gt; | 是   | 异步重命名文件之后的回调。   |
1406
1407**错误码:**
1408
1409接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1410
1411**示例:**
1412
1413  ```js
1414  let srcFile = pathDir + "/test.txt";
1415  let dstFile = pathDir + "/new.txt";
1416  fs.rename(srcFile, dstFile, (err) => {
1417    if (err) {
1418      console.info("rename failed with error message: " + err.message + ", error code: " + err.code);
1419    } else {
1420      console.info("rename success");
1421    }
1422  });
1423  ```
1424
1425## fs.renameSync
1426
1427renameSync(oldPath: string, newPath: string): void
1428
1429以同步方法重命名文件或文件夹。
1430
1431**系统能力**:SystemCapability.FileManagement.File.FileIO
1432
1433**参数:**
1434
1435| 参数名  | 类型   | 必填 | 说明                         |
1436| ------- | ------ | ---- | ---------------------------- |
1437| oldPath | string | 是   | 文件的应用沙箱原路径。 |
1438| newPath | string | 是   | 文件的应用沙箱新路径。   |
1439
1440**错误码:**
1441
1442接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1443
1444**示例:**
1445
1446  ```js
1447  let srcFile = pathDir + "/test.txt";
1448  let dstFile = pathDir + "/new.txt";
1449  fs.renameSync(srcFile, dstFile);
1450  ```
1451
1452## fs.fsync
1453
1454fsync(fd: number): Promise&lt;void&gt;
1455
1456同步文件数据,使用Promise异步回调。
1457
1458**系统能力**:SystemCapability.FileManagement.File.FileIO
1459
1460**参数:**
1461
1462  | 参数名  | 类型     | 必填   | 说明           |
1463  | ---- | ------ | ---- | ------------ |
1464  | fd   | number | 是    | 已打开的文件描述符。 |
1465
1466**返回值:**
1467
1468  | 类型                  | 说明                           |
1469  | ------------------- | ---------------------------- |
1470  | Promise&lt;void&gt; | Promise对象。无返回值。 |
1471
1472**错误码:**
1473
1474接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1475
1476**示例:**
1477
1478  ```js
1479  let filePath = pathDir + "/test.txt";
1480  let file = fs.openSync(filePath);
1481  fs.fsync(file.fd).then(() => {
1482      console.info("sync data succeed");
1483  }).catch((err) => {
1484      console.info("sync data failed with error message: " + err.message + ", error code: " + err.code);
1485  });
1486  ```
1487
1488## fs.fsync
1489
1490fsync(fd: number, callback: AsyncCallback&lt;void&gt;): void
1491
1492同步文件数据,使用callback异步回调。
1493
1494**系统能力**:SystemCapability.FileManagement.File.FileIO
1495
1496**参数:**
1497
1498  | 参数名      | 类型                        | 必填   | 说明              |
1499  | -------- | ------------------------- | ---- | --------------- |
1500  | fd       | number                    | 是    | 已打开的文件描述符。    |
1501  | Callback | AsyncCallback&lt;void&gt; | 是    | 异步将文件数据同步之后的回调。 |
1502
1503**错误码:**
1504
1505接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1506
1507**示例:**
1508
1509  ```js
1510  let filePath = pathDir + "/test.txt";
1511  let file = fs.openSync(filePath);
1512  fs.fsync(file.fd, (err) => {
1513    if (err) {
1514      console.info("fsync failed with error message: " + err.message + ", error code: " + err.code);
1515    } else {
1516      console.info("fsync success");
1517      fs.closeSync(file);
1518    }
1519  });
1520  ```
1521
1522
1523## fs.fsyncSync
1524
1525fsyncSync(fd: number): void
1526
1527以同步方法同步文件数据。
1528
1529**系统能力**:SystemCapability.FileManagement.File.FileIO
1530
1531**参数:**
1532
1533  | 参数名  | 类型     | 必填   | 说明           |
1534  | ---- | ------ | ---- | ------------ |
1535  | fd   | number | 是    | 已打开的文件描述符。 |
1536
1537**错误码:**
1538
1539接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1540
1541**示例:**
1542
1543  ```js
1544  let filePath = pathDir + "/test.txt";
1545  let file = fs.openSync(filePath);
1546  fs.fsyncSync(file.fd);
1547  fs.closeSync(file);
1548  ```
1549
1550## fs.fdatasync
1551
1552fdatasync(fd: number): Promise&lt;void&gt;
1553
1554实现文件内容数据同步,使用Promise异步回调。
1555
1556**系统能力**:SystemCapability.FileManagement.File.FileIO
1557
1558**参数:**
1559
1560  | 参数名  | 类型     | 必填   | 说明           |
1561  | ---- | ------ | ---- | ------------ |
1562  | fd   | number | 是    | 已打开的文件描述符。 |
1563
1564**返回值:**
1565
1566  | 类型                  | 说明                           |
1567  | ------------------- | ---------------------------- |
1568  | Promise&lt;void&gt; | Promise对象。无返回值。 |
1569
1570**错误码:**
1571
1572接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1573
1574**示例:**
1575
1576  ```js
1577  let filePath = pathDir + "/test.txt";
1578  let file = fs.openSync(filePath);
1579  fs.fdatasync(file.fd).then((err) => {
1580    console.info("sync data succeed");
1581    fs.closeSync(file);
1582  }).catch((err) => {
1583    console.info("sync data failed with error message: " + err.message + ", error code: " + err.code);
1584  });
1585  ```
1586
1587## fs.fdatasync
1588
1589fdatasync(fd: number, callback: AsyncCallback&lt;void&gt;): void
1590
1591实现文件内容数据同步,使用callback异步回调。
1592
1593**系统能力**:SystemCapability.FileManagement.File.FileIO
1594
1595**参数:**
1596
1597  | 参数名      | 类型                              | 必填   | 说明                |
1598  | -------- | ------------------------------- | ---- | ----------------- |
1599  | fd       | number                          | 是    | 已打开的文件描述符。      |
1600  | callback | AsyncCallback&lt;void&gt; | 是    | 异步将文件内容数据同步之后的回调。 |
1601
1602**错误码:**
1603
1604接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1605
1606**示例:**
1607
1608  ```js
1609  let filePath = pathDir + "/test.txt";
1610  let file = fs.openSync(filePath);
1611  fs.fdatasync (file.fd, (err) => {
1612    if (err) {
1613      console.info("fdatasync failed with error message: " + err.message + ", error code: " + err.code);
1614    } else {
1615      console.info("fdatasync success");
1616      fs.closeSync(file);
1617    }
1618  });
1619  ```
1620
1621## fs.fdatasyncSync
1622
1623fdatasyncSync(fd: number): void
1624
1625以同步方法实现文件内容数据同步。
1626
1627**系统能力**:SystemCapability.FileManagement.File.FileIO
1628
1629**参数:**
1630
1631  | 参数名  | 类型     | 必填   | 说明           |
1632  | ---- | ------ | ---- | ------------ |
1633  | fd   | number | 是    | 已打开的文件描述符。 |
1634
1635**错误码:**
1636
1637接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1638
1639**示例:**
1640
1641  ```js
1642  let filePath = pathDir + "/test.txt";
1643  let file = fs.openSync(filePath);
1644  let stat = fs.fdatasyncSync(file.fd);
1645  fs.closeSync(file);
1646  ```
1647
1648## fs.symlink
1649
1650symlink(target: string, srcPath: string): Promise&lt;void&gt;
1651
1652基于文件路径创建符号链接,使用Promise异步回调。
1653
1654**系统能力**:SystemCapability.FileManagement.File.FileIO
1655
1656**参数:**
1657
1658| 参数名  | 类型   | 必填 | 说明                         |
1659| ------- | ------ | ---- | ---------------------------- |
1660| target  | string | 是   | 源文件的应用沙箱路径。     |
1661| srcPath | string | 是   | 符号链接文件的应用沙箱路径。 |
1662
1663**返回值:**
1664
1665  | 类型                  | 说明                           |
1666  | ------------------- | ---------------------------- |
1667  | Promise&lt;void&gt; | Promise对象。无返回值。 |
1668
1669**错误码:**
1670
1671接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1672
1673**示例:**
1674
1675  ```js
1676  let srcFile = pathDir + "/test.txt";
1677  let dstFile = pathDir + "/test";
1678  fs.symlink(srcFile, dstFile).then(() => {
1679      console.info("symlink succeed");
1680  }).catch((err) => {
1681      console.info("symlink failed with error message: " + err.message + ", error code: " + err.code);
1682  });
1683  ```
1684
1685
1686## fs.symlink
1687symlink(target: string, srcPath: string, callback: AsyncCallback&lt;void&gt;): void
1688
1689基于文件路径创建符号链接,使用callback异步回调。
1690
1691**系统能力**:SystemCapability.FileManagement.File.FileIO
1692
1693**参数:**
1694
1695| 参数名   | 类型                      | 必填 | 说明                             |
1696| -------- | ------------------------- | ---- | -------------------------------- |
1697| target   | string                    | 是   | 源文件的应用沙箱路径。         |
1698| srcPath  | string                    | 是   | 符号链接文件的应用沙箱路径。     |
1699| callback | AsyncCallback&lt;void&gt; | 是   | 异步创建符号链接信息之后的回调。 |
1700
1701**错误码:**
1702
1703接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1704
1705**示例:**
1706
1707  ```js
1708  let srcFile = pathDir + "/test.txt";
1709  let dstFile = pathDir + "/test";
1710  fs.symlink(srcFile, dstFile, (err) => {
1711    if (err) {
1712      console.info("symlink failed with error message: " + err.message + ", error code: " + err.code);
1713    } else {
1714      console.info("symlink success");
1715    }
1716  });
1717  ```
1718
1719## fs.symlinkSync
1720
1721symlinkSync(target: string, srcPath: string): void
1722
1723以同步的方法基于文件路径创建符号链接。
1724
1725**系统能力**:SystemCapability.FileManagement.File.FileIO
1726
1727**参数:**
1728
1729| 参数名  | 类型   | 必填 | 说明                         |
1730| ------- | ------ | ---- | ---------------------------- |
1731| target  | string | 是   | 源文件的应用沙箱路径。     |
1732| srcPath | string | 是   | 符号链接文件的应用沙箱路径。 |
1733
1734**错误码:**
1735
1736接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1737
1738**示例:**
1739
1740  ```js
1741  let srcFile = pathDir + "/test.txt";
1742  let dstFile = pathDir + "/test";
1743  fs.symlinkSync(srcFile, dstFile);
1744  ```
1745
1746## fs.listFile
1747listFile(path: string, options?: {
1748    recursion?: boolean;
1749    listNum?: number;
1750    filter?: Filter;
1751}): Promise<string[]>
1752
1753列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Promise异步回调。
1754
1755**系统能力**:SystemCapability.FileManagement.File.FileIO
1756
1757**参数:**
1758
1759  | 参数名    | 类型     | 必填   | 说明                          |
1760  | ------ | ------ | ---- | --------------------------- |
1761  | path | string | 是    | 文件夹的应用沙箱路径。 |
1762  | options | Object | 否    | 文件过滤选项。默认不进行过滤。 |
1763
1764**options参数说明:**
1765
1766  | 参数名    | 类型     | 必填   | 说明                          |
1767  | ------ | ------ | ---- | --------------------------- |
1768  | recursion | boolean | 否    | 是否递归子目录下文件名,默认为false。 |
1769  | listNum | number | 否    | 列出文件名数量。当设置0时,列出所有文件,默认为0。 |
1770  | filter | [Filter](#filter) | 否    | 文件过滤选项。当前仅支持后缀名匹配、文件名模糊查询、文件大小过滤、最近修改时间过滤。 |
1771
1772**返回值:**
1773
1774  | 类型                   | 说明         |
1775  | --------------------- | ---------- |
1776  | Promise&lt;string[]&gt; | Promise对象。返回文件名数组。 |
1777
1778**错误码:**
1779
1780接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1781
1782**示例:**
1783
1784  ```js
1785  let options = {
1786    "recursion": false,
1787    "listNum": 0,
1788    "filter": {
1789      "suffix": [".png", ".jpg", ".jpeg"],
1790      "displayName": ["%abc", "efg%"],
1791      "fileSizeOver": 1024,
1792      "lastModifiedAfter": new Date().getTime(),
1793    }
1794  };
1795  fs.listFile(pathDir, options).then((filenames) => {
1796    console.info("listFile succeed");
1797    for (let i = 0; i < filenames.length; i++) {
1798      console.info("fileName: %s", filenames[i]);
1799    }
1800  }).catch((err) => {
1801      console.info("list file failed with error message: " + err.message + ", error code: " + err.code);
1802  });
1803  ```
1804
1805## fs.listFile
1806listFile(path: string, options?: {
1807    recursion?: boolean;
1808    listNum?: number;
1809    filter?: Filter;
1810}, callback: AsyncCallback<string[]>): void
1811
1812列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤,使用Callback异步回调。
1813
1814**参数:**
1815
1816  | 参数名    | 类型     | 必填   | 说明                          |
1817  | ------ | ------ | ---- | --------------------------- |
1818  | path | string | 是    | 文件夹的应用沙箱路径。 |
1819  | options | Object | 否    | 文件过滤选项。默认不进行过滤。 |
1820  | callback | AsyncCallback&lt;string[]&gt; | 是    | 异步列出文件名数组之后的回调。              |
1821
1822**options参数说明:**
1823
1824  | 参数名    | 类型     | 必填   | 说明                          |
1825  | ------ | ------ | ---- | --------------------------- |
1826  | recursion | boolean | 否    | 是否递归子目录下文件名,默认为false。 |
1827  | listNum | number | 否    | 列出文件名数量。当设置0时,列出所有文件,默认为0。 |
1828  | filter | [Filter](#filter) | 否    | 文件过滤选项。当前仅支持后缀名匹配、文件名模糊查询、文件大小过滤、最近修改时间过滤。 |
1829
1830**错误码:**
1831
1832接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1833
1834**示例:**
1835
1836  ```js
1837  let options = {
1838    "recursion": false,
1839    "listNum": 0,
1840    "filter": {
1841      "suffix": [".png", ".jpg", ".jpeg"],
1842      "displayName": ["%abc", "efg%"],
1843      "fileSizeOver": 1024,
1844      "lastModifiedAfter": new Date().getTime(),
1845    }
1846  };
1847  fs.listFile(pathDir, options, (err, filenames) => {
1848    if (err) {
1849      console.info("list file failed with error message: " + err.message + ", error code: " + err.code);
1850    } else {
1851      console.info("listFile succeed");
1852      for (let i = 0; i < filenames.length; i++) {
1853        console.info("filename: %s", filenames[i]);
1854      }
1855    }
1856  });
1857  ```
1858
1859## fs.listFileSync
1860
1861listFileSync(path: string, options?: {
1862    recursion?: boolean;
1863    listNum?: number;
1864    filter?: Filter;
1865}): string[]
1866
1867以同步方式列出文件夹下所有文件名,支持递归列出所有文件名(包含子目录下),支持文件过滤。
1868
1869**参数:**
1870
1871  | 参数名    | 类型     | 必填   | 说明                          |
1872  | ------ | ------ | ---- | --------------------------- |
1873  | path | string | 是    | 文件夹的应用沙箱路径。 |
1874  | options | Object | 否    | 文件过滤选项。默认不进行过滤。 |
1875
1876**options参数说明:**
1877
1878  | 参数名    | 类型     | 必填   | 说明                          |
1879  | ------ | ------ | ---- | --------------------------- |
1880  | recursion | boolean | 否    | 是否递归子目录下文件名,默认为false。 |
1881  | listNum | number | 否    | 列出文件名数量。当设置0时,列出所有文件,默认为0。 |
1882  | filter | [Filter](#filter) | 否    | 文件过滤选项。当前仅支持后缀名匹配、文件名模糊查询、文件大小过滤、最近修改时间过滤。 |
1883
1884**返回值:**
1885
1886  | 类型                   | 说明         |
1887  | --------------------- | ---------- |
1888  | string[] | 返回文件名数组。 |
1889
1890**错误码:**
1891
1892接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1893
1894**示例:**
1895
1896  ```js
1897  let options = {
1898    "recursion": false,
1899    "listNum": 0,
1900    "filter": {
1901      "suffix": [".png", ".jpg", ".jpeg"],
1902      "displayName": ["%abc", "efg%"],
1903      "fileSizeOver": 1024,
1904      "lastModifiedAfter": new Date().getTime(),
1905    }
1906  };
1907  let filenames = fs.listFileSync(pathDir, options);
1908  console.info("listFile succeed");
1909  for (let i = 0; i < filenames.length; i++) {
1910    console.info("filename: %s", filenames[i]);
1911  }
1912  ```
1913
1914## fs.moveFile
1915
1916moveFile(src: string, dest: string, mode?: number): Promise\<void>
1917
1918移动文件,使用Promise异步回调。
1919
1920**系统能力**:SystemCapability.FileManagement.File.FileIO
1921
1922**参数:**
1923
1924  | 参数名    | 类型     | 必填   | 说明                          |
1925  | ------ | ------ | ---- | --------------------------- |
1926  | src | string | 是    | 源文件的应用沙箱路径。 |
1927  | dest | string | 是    | 目的文件的应用沙箱路径。 |
1928  | mode | number | 否    | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
1929
1930**返回值:**
1931
1932  | 类型                  | 说明                           |
1933  | ------------------- | ---------------------------- |
1934  | Promise&lt;void&gt; | Promise对象。无返回值。 |
1935
1936**错误码:**
1937
1938接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1939
1940**示例:**
1941
1942  ```js
1943  let srcPath = pathDir + "/source.txt";
1944  let destPath = pathDir + "/dest.txt";
1945  fs.moveFile(srcPath, destPath, 0).then(() => {
1946      console.info("move file succeed");
1947  }).catch((err) => {
1948      console.info("move file failed with error message: " + err.message + ", error code: " + err.code);
1949  });
1950  ```
1951
1952## fs.moveFile
1953
1954moveFile(src: string, dest: string, mode?: number, callback: AsyncCallback\<void>): void
1955
1956移动文件,使用Callback异步回调。
1957
1958**系统能力**:SystemCapability.FileManagement.File.FileIO
1959
1960**参数:**
1961
1962  | 参数名    | 类型     | 必填   | 说明                          |
1963  | ------ | ------ | ---- | --------------------------- |
1964  | src | string | 是    | 源文件的应用沙箱路径。 |
1965  | dest | string | 是    | 目的文件的应用沙箱路径。 |
1966  | mode | number | 否    | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
1967  | callback | AsyncCallback&lt;void&gt; | 是    | 异步移动文件之后的回调。              |
1968
1969**错误码:**
1970
1971接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
1972
1973**示例:**
1974
1975  ```js
1976  let srcPath = pathDir + "/source.txt";
1977  let destPath = pathDir + "/dest.txt";
1978  fs.moveFile(srcPath, destPath, 0, (err) => {
1979    if (err) {
1980      console.info("move file failed with error message: " + err.message + ", error code: " + err.code);
1981    } else {
1982      console.info("move file succeed");
1983    }
1984  });
1985  ```
1986
1987## fs.moveFileSync
1988
1989moveFile(src: string, dest: string, mode?: number): void
1990
1991以同步方式移动文件。
1992
1993**系统能力**:SystemCapability.FileManagement.File.FileIO
1994
1995**参数:**
1996
1997  | 参数名    | 类型     | 必填   | 说明                          |
1998  | ------ | ------ | ---- | --------------------------- |
1999  | src | string | 是    | 源文件的应用沙箱路径。 |
2000  | dest | string | 是    | 目的文件的应用沙箱路径。 |
2001  | mode | number | 否    | 移动模式。若mode为0,移动位置存在同名文件时,强制移动覆盖。若mode为1,移动位置存在同名文件时,抛出异常。默认为0。 |
2002
2003**错误码:**
2004
2005接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2006
2007**示例:**
2008
2009  ```js
2010  let srcPath = pathDir + "/source.txt";
2011  let destPath = pathDir + "/dest.txt";
2012  fs.moveFileSync(srcPath, destPath, 0);
2013  console.info("move file succeed");
2014  ```
2015
2016## fs.mkdtemp
2017
2018mkdtemp(prefix: string): Promise&lt;string&gt;
2019
2020创建临时目录,使用Promise异步回调。
2021
2022**系统能力**:SystemCapability.FileManagement.File.FileIO
2023
2024**参数:**
2025
2026  | 参数名    | 类型     | 必填   | 说明                          |
2027  | ------ | ------ | ---- | --------------------------- |
2028  | prefix | string | 是    | 用随机产生的字符串替换以“XXXXXX”结尾目录路径。 |
2029
2030**返回值:**
2031
2032  | 类型                   | 说明         |
2033  | --------------------- | ---------- |
2034  | Promise&lt;string&gt; | Promise对象。返回生成的唯一目录路径。 |
2035
2036**错误码:**
2037
2038接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2039
2040**示例:**
2041
2042  ```js
2043  fs.mkdtemp(pathDir + "/XXXXXX").then((pathDir) => {
2044      console.info("mkdtemp succeed:" + pathDir);
2045  }).catch((err) => {
2046      console.info("mkdtemp failed with error message: " + err.message + ", error code: " + err.code);
2047  });
2048  ```
2049
2050## fs.mkdtemp
2051
2052mkdtemp(prefix: string, callback: AsyncCallback&lt;string&gt;): void
2053
2054创建临时目录,使用callback异步回调。
2055
2056**系统能力**:SystemCapability.FileManagement.File.FileIO
2057
2058**参数:**
2059
2060  | 参数名      | 类型                          | 必填   | 说明                          |
2061  | -------- | --------------------------- | ---- | --------------------------- |
2062  | prefix   | string                      | 是    | 用随机产生的字符串替换以“XXXXXX”结尾目录路径。 |
2063  | callback | AsyncCallback&lt;string&gt; | 是    | 异步创建临时目录之后的回调。              |
2064
2065**错误码:**
2066
2067接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2068
2069**示例:**
2070
2071  ```js
2072  fs.mkdtemp(pathDir + "/XXXXXX", (err, res) => {
2073    if (err) {
2074      console.info("mkdtemp failed with error message: " + err.message + ", error code: " + err.code);
2075    } else {
2076      console.info("mkdtemp success");
2077    }
2078  });
2079  ```
2080
2081## fs.mkdtempSync
2082
2083mkdtempSync(prefix: string): string
2084
2085以同步的方法创建临时目录。
2086
2087**系统能力**:SystemCapability.FileManagement.File.FileIO
2088
2089**参数:**
2090
2091  | 参数名    | 类型     | 必填   | 说明                          |
2092  | ------ | ------ | ---- | --------------------------- |
2093  | prefix | string | 是    | 用随机产生的字符串替换以“XXXXXX”结尾目录路径。 |
2094
2095**返回值:**
2096
2097  | 类型    | 说明         |
2098  | ------ | ---------- |
2099  | string | 产生的唯一目录路径。 |
2100
2101**错误码:**
2102
2103接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2104
2105**示例:**
2106
2107  ```js
2108  let res = fs.mkdtempSync(pathDir + "/XXXXXX");
2109  ```
2110
2111## fs.createStream
2112
2113createStream(path: string, mode: string): Promise&lt;Stream&gt;
2114
2115基于文件路径打开文件流,使用Promise异步回调。
2116
2117**系统能力**:SystemCapability.FileManagement.File.FileIO
2118
2119**参数:**
2120
2121| 参数名 | 类型   | 必填 | 说明                                                         |
2122| ------ | ------ | ---- | ------------------------------------------------------------ |
2123| path   | string | 是   | 文件的应用沙箱路径。                                   |
2124| mode   | string | 是   | -&nbsp;r:打开只读文件,该文件必须存在。<br/>-&nbsp;r+:打开可读写的文件,该文件必须存在。<br/>-&nbsp;w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。<br/>-&nbsp;a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
2125
2126**返回值:**
2127
2128  | 类型                                | 说明        |
2129  | --------------------------------- | --------- |
2130  | Promise&lt;[Stream](#stream)&gt; | Promise对象。返回文件流的结果。 |
2131
2132**错误码:**
2133
2134接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2135
2136**示例:**
2137
2138  ```js
2139  let filePath = pathDir + "/test.txt";
2140  fs.createStream(filePath, "r+").then((stream) => {
2141      console.info("createStream succeed");
2142  }).catch((err) => {
2143      console.info("createStream failed with error message: " + err.message + ", error code: " + err.code);
2144  });
2145  ```
2146
2147
2148## fs.createStream
2149
2150createStream(path: string, mode: string, callback: AsyncCallback&lt;Stream&gt;): void
2151
2152基于文件路径打开文件流,使用callback异步回调。
2153
2154**系统能力**:SystemCapability.FileManagement.File.FileIO
2155
2156**参数:**
2157
2158| 参数名   | 类型                                    | 必填 | 说明                                                         |
2159| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
2160| path     | string                                  | 是   | 文件的应用沙箱路径。                                   |
2161| mode     | string                                  | 是   | -&nbsp;r:打开只读文件,该文件必须存在。<br/>-&nbsp;r+:打开可读写的文件,该文件必须存在。<br/>-&nbsp;w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。<br/>-&nbsp;a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
2162| callback | AsyncCallback&lt;[Stream](#stream)&gt; | 是   | 异步打开文件流之后的回调。                                   |
2163
2164**错误码:**
2165
2166接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2167
2168**示例:**
2169
2170  ```js
2171  let filePath = pathDir + "/test.txt";
2172  fs.createStream(filePath, "r+", (err, stream) => {
2173    if (err) {
2174      console.info("create stream failed with error message: " + err.message + ", error code: " + err.code);
2175    } else {
2176      console.info("create stream success");
2177    }
2178  });
2179  ```
2180
2181## fs.createStreamSync
2182
2183createStreamSync(path: string, mode: string): Stream
2184
2185以同步方法基于文件路径打开文件流。
2186
2187**系统能力**:SystemCapability.FileManagement.File.FileIO
2188
2189**参数:**
2190
2191| 参数名 | 类型   | 必填 | 说明                                                         |
2192| ------ | ------ | ---- | ------------------------------------------------------------ |
2193| path   | string | 是   | 文件的应用沙箱路径。                                   |
2194| mode   | string | 是   | -&nbsp;r:打开只读文件,该文件必须存在。<br/>-&nbsp;r+:打开可读写的文件,该文件必须存在。<br/>-&nbsp;w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。<br/>-&nbsp;a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
2195
2196**返回值:**
2197
2198  | 类型                | 说明        |
2199  | ------------------ | --------- |
2200  | [Stream](#stream) | 返回文件流的结果。 |
2201
2202**错误码:**
2203
2204接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2205
2206**示例:**
2207
2208  ```js
2209  let filePath = pathDir + "/test.txt";
2210  let ss = fs.createStreamSync(filePath, "r+");
2211  ```
2212
2213
2214## fs.fdopenStream
2215
2216fdopenStream(fd: number, mode: string): Promise&lt;Stream&gt;
2217
2218基于文件描述符打开文件流,使用Promise异步回调。
2219
2220**系统能力**:SystemCapability.FileManagement.File.FileIO
2221
2222**参数:**
2223
2224  | 参数名  | 类型     | 必填   | 说明                                       |
2225  | ---- | ------ | ---- | ---------------------------------------- |
2226  | fd   | number | 是    | 已打开的文件描述符。                             |
2227  | mode | string | 是    | -&nbsp;r:打开只读文件,该文件必须存在。<br/>-&nbsp;r+:打开可读写的文件,该文件必须存在。<br/>-&nbsp;w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。<br/>-&nbsp;a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
2228
2229**返回值:**
2230
2231  | 类型                               | 说明        |
2232  | --------------------------------- | --------- |
2233  | Promise&lt;[Stream](#stream)&gt; | Promise对象。返回文件流的结果。 |
2234
2235**错误码:**
2236
2237接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2238
2239**示例:**
2240
2241  ```js
2242  let filePath = pathDir + "/test.txt";
2243  let file = fs.openSync(filePath);
2244  fs.fdopenStream(file.fd, "r+").then((stream) => {
2245      console.info("openStream succeed");
2246      fs.closeSync(file);
2247  }).catch((err) => {
2248      console.info("openStream failed with error message: " + err.message + ", error code: " + err.code);
2249  });
2250  ```
2251
2252## fs.fdopenStream
2253
2254fdopenStream(fd: number, mode: string, callback: AsyncCallback&lt;Stream&gt;): void
2255
2256基于文件描述符打开文件流,使用callback异步回调。
2257
2258**系统能力**:SystemCapability.FileManagement.File.FileIO
2259
2260**参数:**
2261
2262  | 参数名      | 类型                                       | 必填   | 说明                                       |
2263  | -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2264  | fd       | number                                   | 是    | 已打开的文件描述符。                             |
2265  | mode     | string                                   | 是    | -&nbsp;r:打开只读文件,该文件必须存在。<br/>-&nbsp;r+:打开可读写的文件,该文件必须存在。<br/>-&nbsp;w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。<br/>-&nbsp;a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
2266  | callback | AsyncCallback&lt;[Stream](#stream)&gt; | 是    | 异步打开文件流之后的回调。                            |
2267
2268**错误码:**
2269
2270接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2271
2272**示例:**
2273
2274  ```js
2275  let filePath = pathDir + "/test.txt";
2276  let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY);
2277  fs.fdopenStream(file.fd, "r+", (err, stream) => {
2278    if (err) {
2279      console.info("fdopen stream failed with error message: " + err.message + ", error code: " + err.code);
2280    } else {
2281      console.info("fdopen stream success");
2282      fs.closeSync(file);
2283    }
2284  });
2285  ```
2286
2287## fs.fdopenStreamSync
2288
2289fdopenStreamSync(fd: number, mode: string): Stream
2290
2291以同步方法基于文件描述符打开文件流。
2292
2293**系统能力**:SystemCapability.FileManagement.File.FileIO
2294
2295**参数:**
2296
2297  | 参数名  | 类型     | 必填   | 说明                                       |
2298  | ---- | ------ | ---- | ---------------------------------------- |
2299  | fd   | number | 是    | 已打开的文件描述符。                             |
2300  | mode | string | 是    | -&nbsp;r:打开只读文件,该文件必须存在。<br/>-&nbsp;r+:打开可读写的文件,该文件必须存在。<br/>-&nbsp;w:打开只写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;w+:打开可读写文件,若文件存在则文件长度清0,即该文件内容会消失。若文件不存在则建立该文件。<br/>-&nbsp;a:以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。<br/>-&nbsp;a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 |
2301
2302**返回值:**
2303
2304  | 类型                | 说明        |
2305  | ------------------ | --------- |
2306  | [Stream](#stream) | 返回文件流的结果。 |
2307
2308**错误码:**
2309
2310接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2311
2312**示例:**
2313
2314  ```js
2315  let filePath = pathDir + "/test.txt";
2316  let file = fs.openSync(filePath, fs.OpenMode.READ_ONLY | fs.OpenMode.CREATE);
2317  let ss = fs.fdopenStreamSync(file.fd, "r+");
2318  fs.closeSync(file);
2319  ```
2320
2321## Stat
2322
2323文件具体信息,在调用Stat的方法前,需要先通过[stat()](#fsstat)方法(同步或异步)来构建一个Stat实例。
2324
2325**系统能力**:SystemCapability.FileManagement.File.FileIO
2326
2327### 属性
2328
2329| 名称     | 类型   | 可读   | 可写   | 说明                                       |
2330| ------ | ------ | ---- | ---- | ---------------------------------------- |
2331| ino    | number | 是    | 否    | 标识该文件。通常同设备上的不同文件的INO不同。|                 |
2332| mode   | number | 是    | 否    | 表示文件权限,各特征位的含义如下:<br/>-&nbsp;0o400:用户读,对于普通文件,所有者可读取文件;对于目录,所有者可读取目录项。<br/>-&nbsp;0o200:用户写,对于普通文件,所有者可写入文件;对于目录,所有者可创建/删除目录项。<br/>-&nbsp;0o100:用户执行,对于普通文件,所有者可执行文件;对于目录,所有者可在目录中搜索给定路径名。<br/>-&nbsp;0o040:用户组读,对于普通文件,所有用户组可读取文件;对于目录,所有用户组可读取目录项。<br/>-&nbsp;0o020:用户组写,对于普通文件,所有用户组可写入文件;对于目录,所有用户组可创建/删除目录项。<br/>-&nbsp;0o010:用户组执行,对于普通文件,所有用户组可执行文件;对于目录,所有用户组是否可在目录中搜索给定路径名。<br/>-&nbsp;0o004:其他读,对于普通文件,其余用户可读取文件;对于目录,其他用户组可读取目录项。<br/>-&nbsp;0o002:其他写,对于普通文件,其余用户可写入文件;对于目录,其他用户组可创建/删除目录项。<br/>-&nbsp;0o001:其他执行,对于普通文件,其余用户可执行文件;对于目录,其他用户组可在目录中搜索给定路径名。 |
2333| uid    | number | 是    | 否    | 文件所有者的ID。|
2334| gid    | number | 是    | 否    | 文件所有组的ID。|
2335| size   | number | 是    | 否    | 文件的大小,以字节为单位。仅对普通文件有效。  |
2336| atime  | number | 是    | 否    | 上次访问该文件的时间,表示距1970年1月1日0时0分0秒的秒数。        |
2337| mtime  | number | 是    | 否    | 上次修改该文件的时间,表示距1970年1月1日0时0分0秒的秒数。        |
2338| ctime  | number | 是    | 否    | 最近改变文件状态的时间,表示距1970年1月1日0时0分0秒的秒数。      |
2339
2340### isBlockDevice
2341
2342isBlockDevice(): boolean
2343
2344用于判断文件是否是块特殊文件。一个块特殊文件只能以块为粒度进行访问,且访问的时候带缓存。
2345
2346**系统能力**:SystemCapability.FileManagement.File.FileIO
2347
2348**返回值:**
2349
2350  | 类型      | 说明               |
2351  | ------- | ---------------- |
2352  | boolean | 表示文件是否是块特殊设备。 |
2353
2354**错误码:**
2355
2356接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2357
2358**示例:**
2359
2360  ```js
2361  let filePath = pathDir + "/test.txt";
2362  let isBLockDevice = fs.statSync(filePath).isBlockDevice();
2363  ```
2364
2365### isCharacterDevice
2366
2367isCharacterDevice(): boolean
2368
2369用于判断文件是否是字符特殊文件。一个字符特殊设备可进行随机访问,且访问的时候不带缓存。
2370
2371**系统能力**:SystemCapability.FileManagement.File.FileIO
2372
2373**返回值:**
2374
2375  | 类型      | 说明                |
2376  | ------- | ----------------- |
2377  | boolean | 表示文件是否是字符特殊设备。 |
2378
2379**错误码:**
2380
2381接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2382
2383**示例:**
2384
2385  ```js
2386  let filePath = pathDir + "/test.txt";
2387  let isCharacterDevice = fs.statSync(filePath).isCharacterDevice();
2388  ```
2389
2390### isDirectory
2391
2392isDirectory(): boolean
2393
2394用于判断文件是否是目录。
2395
2396**系统能力**:SystemCapability.FileManagement.File.FileIO
2397
2398**返回值:**
2399
2400  | 类型      | 说明            |
2401  | ------- | ------------- |
2402  | boolean | 表示文件是否是目录。 |
2403
2404**错误码:**
2405
2406接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2407
2408**示例:**
2409
2410  ```js
2411  let dirPath = pathDir + "/test";
2412  let isDirectory = fs.statSync(dirPath).isDirectory();
2413  ```
2414
2415### isFIFO
2416
2417isFIFO(): boolean
2418
2419用于判断文件是否是命名管道(有时也称为FIFO)。命名管道通常用于进程间通信。
2420
2421**系统能力**:SystemCapability.FileManagement.File.FileIO
2422
2423**返回值:**
2424
2425  | 类型      | 说明                    |
2426  | ------- | --------------------- |
2427  | boolean | 表示文件是否是&nbsp;FIFO。 |
2428
2429**错误码:**
2430
2431接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2432
2433**示例:**
2434
2435  ```js
2436  let filePath = pathDir + "/test.txt";
2437  let isFIFO = fs.statSync(filePath).isFIFO();
2438  ```
2439
2440### isFile
2441
2442isFile(): boolean
2443
2444用于判断文件是否是普通文件。
2445
2446**系统能力**:SystemCapability.FileManagement.File.FileIO
2447
2448**返回值:**
2449
2450  | 类型      | 说明              |
2451  | ------- | --------------- |
2452  | boolean | 表示文件是否是普通文件。 |
2453
2454**错误码:**
2455
2456接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2457
2458**示例:**
2459
2460  ```js
2461  let filePath = pathDir + "/test.txt";
2462  let isFile = fs.statSync(filePath).isFile();
2463  ```
2464
2465### isSocket
2466
2467isSocket(): boolean
2468
2469用于判断文件是否是套接字。
2470
2471**系统能力**:SystemCapability.FileManagement.File.FileIO
2472
2473**返回值:**
2474
2475  | 类型      | 说明             |
2476  | ------- | -------------- |
2477  | boolean | 表示文件是否是套接字。 |
2478
2479**错误码:**
2480
2481接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2482
2483**示例:**
2484
2485  ```js
2486  let filePath = pathDir + "/test.txt";
2487  let isSocket = fs.statSync(filePath).isSocket();
2488  ```
2489
2490### isSymbolicLink
2491
2492isSymbolicLink(): boolean
2493
2494用于判断文件是否是符号链接。
2495
2496**系统能力**:SystemCapability.FileManagement.File.FileIO
2497
2498**返回值:**
2499
2500  | 类型      | 说明              |
2501  | ------- | --------------- |
2502  | boolean | 表示文件是否是符号链接。 |
2503
2504**错误码:**
2505
2506接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2507
2508**示例:**
2509
2510  ```js
2511  let filePath = pathDir + "/test";
2512  let isSymbolicLink = fs.statSync(filePath).isSymbolicLink();
2513  ```
2514
2515## Stream
2516
2517文件流,在调用Stream的方法前,需要先通过createStream()方法(同步或异步)来构建一个Stream实例。
2518
2519### close
2520
2521close(): Promise&lt;void&gt;
2522
2523关闭文件流,使用Promise异步回调。
2524
2525**系统能力**:SystemCapability.FileManagement.File.FileIO
2526
2527**返回值:**
2528
2529  | 类型                  | 说明            |
2530  | ------------------- | ------------- |
2531  | Promise&lt;void&gt; | Promise对象。返回表示异步关闭文件流的结果。 |
2532
2533**错误码:**
2534
2535接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2536
2537**示例:**
2538
2539  ```js
2540  let filePath = pathDir + "/test.txt";
2541  let ss= fs.createStreamSync(filePath, "r+");
2542  ss.close().then(() => {
2543      console.info("close fileStream succeed");
2544  }).catch((err) => {
2545      console.info("close fileStream  failed with error message: " + err.message + ", error code: " + err.code);
2546  });
2547  ```
2548
2549### close
2550
2551close(callback: AsyncCallback&lt;void&gt;): void
2552
2553异步关闭文件流,使用callback异步回调。
2554
2555**系统能力**:SystemCapability.FileManagement.File.FileIO
2556
2557**参数:**
2558
2559  | 参数名      | 类型                        | 必填   | 说明            |
2560  | -------- | ------------------------- | ---- | ------------- |
2561  | callback | AsyncCallback&lt;void&gt; | 是    | 异步关闭文件流之后的回调。 |
2562
2563**错误码:**
2564
2565接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2566
2567**示例:**
2568
2569  ```js
2570  let filePath = pathDir + "/test.txt";
2571  let ss= fs.createStreamSync(filePath, "r+");
2572  ss.close((err) => {
2573    if (err) {
2574      console.info("close stream failed with error message: " + err.message + ", error code: " + err.code);
2575    } else {
2576      console.info("close stream success"):
2577    }
2578  });
2579  ```
2580
2581### closeSync
2582
2583closeSync(): void
2584
2585同步关闭文件流。
2586
2587**系统能力**:SystemCapability.FileManagement.File.FileIO
2588
2589**错误码:**
2590
2591接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2592
2593**示例:**
2594
2595  ```js
2596  let filePath = pathDir + "/test.txt";
2597  let ss= fs.createStreamSync(filePath, "r+");
2598  ss.closeSync();
2599  ```
2600
2601### flush
2602
2603flush(): Promise&lt;void&gt;
2604
2605刷新文件流,使用Promise异步回调。
2606
2607**系统能力**:SystemCapability.FileManagement.File.FileIO
2608
2609**返回值:**
2610
2611  | 类型                  | 说明            |
2612  | ------------------- | ------------- |
2613  | Promise&lt;void&gt; | Promise对象。返回表示异步刷新文件流的结果。 |
2614
2615**错误码:**
2616
2617接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2618
2619**示例:**
2620
2621  ```js
2622  let filePath = pathDir + "/test.txt";
2623  let ss= fs.createStreamSync(filePath, "r+");
2624  ss.flush().then(() => {
2625      console.info("flush succeed");
2626  }).catch((err) => {
2627      console.info("flush failed with error message: " + err.message + ", error code: " + err.code);
2628  });
2629  ```
2630
2631### flush
2632
2633flush(callback: AsyncCallback&lt;void&gt;): void
2634
2635异步刷新文件流,使用callback异步回调。
2636
2637**系统能力**:SystemCapability.FileManagement.File.FileIO
2638
2639**参数:**
2640
2641  | 参数名      | 类型                        | 必填   | 说明             |
2642  | -------- | ------------------------- | ---- | -------------- |
2643  | callback | AsyncCallback&lt;void&gt; | 是    | 异步刷新文件流后的回调函数。 |
2644
2645**错误码:**
2646
2647接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2648
2649**示例:**
2650
2651  ```js
2652  let filePath = pathDir + "/test.txt";
2653  let ss= fs.createStreamSync(filePath, "r+");
2654  ss.flush((err) => {
2655    if (err) {
2656      console.info("flush stream failed with error message: " + err.message + ", error code: " + err.code);
2657    } else {
2658      console.info("flush success");
2659    }
2660  });
2661  ```
2662
2663### flushSync
2664
2665flushSync(): void
2666
2667同步刷新文件流。
2668
2669**系统能力**:SystemCapability.FileManagement.File.FileIO
2670
2671**错误码:**
2672
2673接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2674
2675**示例:**
2676
2677  ```js
2678  let filePath = pathDir + "/test.txt";
2679  let ss= fs.createStreamSync(filePath, "r+");
2680  ss.flushSync();
2681  ```
2682
2683### write
2684
2685write(buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; encoding?: string; }): Promise&lt;number&gt;
2686
2687将数据写入流文件,使用Promise异步回调。
2688
2689**系统能力**:SystemCapability.FileManagement.File.FileIO
2690
2691**参数:**
2692
2693  | 参数名     | 类型                              | 必填   | 说明                                       |
2694  | ------- | ------------------------------- | ---- | ---------------------------------------- |
2695  | buffer  | ArrayBuffer\|string | 是    | 待写入文件的数据,可来自缓冲区或字符串。                     |
2696  | options | Object                          | 否    | 支持如下选项:<br/>-&nbsp;length,number类型,表示期望写入数据的长度。默认缓冲区长度。<br/>-&nbsp;offset,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。<br/>-&nbsp;encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认&nbsp;'utf-8'。仅支持&nbsp;'utf-8'。|
2697
2698**返回值:**
2699
2700  | 类型                    | 说明       |
2701  | --------------------- | -------- |
2702  | Promise&lt;number&gt; | Promise对象。返回实际写入的长度。 |
2703
2704**错误码:**
2705
2706接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2707
2708**示例:**
2709
2710  ```js
2711  let filePath = pathDir + "/test.txt";
2712  let ss= fs.createStreamSync(filePath, "r+");
2713  ss.write("hello, world",{ offset: 5, length: 5, encoding: 'utf-8' }).then((number) => {
2714      console.info("write succeed and size is:" + number);
2715  }).catch((err) => {
2716      console.info("write failed with error message: " + err.message + ", error code: " + err.code);
2717  });
2718  ```
2719
2720### write
2721
2722write(buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; encoding?: string; }, callback: AsyncCallback&lt;number&gt;): void
2723
2724将数据写入流文件,使用callback异步回调。
2725
2726**系统能力**:SystemCapability.FileManagement.File.FileIO
2727
2728**参数:**
2729
2730  | 参数名   | 类型                            | 必填 | 说明                                                         |
2731  | -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
2732  | buffer   | ArrayBuffer\|string | 是   | 待写入文件的数据,可来自缓冲区或字符串。                     |
2733  | options  | Object                          | 否   | 支持如下选项:<br/>-&nbsp;length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;offset,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。<br/>-&nbsp;encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认&nbsp;'utf-8'。仅支持&nbsp;'utf-8'。|
2734  | callback | AsyncCallback&lt;number&gt;     | 是   | 异步写入完成后执行的回调函数。                               |
2735
2736**错误码:**
2737
2738接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2739
2740**示例:**
2741
2742  ```js
2743  let filePath = pathDir + "/test.txt";
2744  let ss= fs.createStreamSync(filePath, "r+");
2745  ss.write("hello, world", { offset: 5, length: 5, encoding :'utf-8'}, (err, bytesWritten) => {
2746    if (err) {
2747      console.info("write stream failed with error message: " + err.message + ", error code: " + err.code);
2748    } else {
2749      if (bytesWritten) {
2750        console.info("write succeed and size is:" + bytesWritten);
2751      }
2752    }
2753  });
2754  ```
2755
2756### writeSync
2757
2758writeSync(buffer: ArrayBuffer|string, options?: { offset?: number; length?: number; encoding?: string; }): number
2759
2760以同步方法将数据写入流文件。
2761
2762**系统能力**:SystemCapability.FileManagement.File.FileIO
2763
2764**参数:**
2765
2766  | 参数名     | 类型                              | 必填   | 说明                                       |
2767  | ------- | ------------------------------- | ---- | ---------------------------------------- |
2768  | buffer  | ArrayBuffer\|string | 是    | 待写入文件的数据,可来自缓冲区或字符串。                     |
2769  | options | Object                          | 否    | 支持如下选项:<br/>-&nbsp;length,number类型,表示期望写入数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;offset,number类型,表示期望写入文件的位置。可选,默认从当前位置开始写。<br/>-&nbsp;encoding,string类型,当数据是string类型时有效,表示数据的编码方式,默认&nbsp;'utf-8'。仅支持&nbsp;'utf-8'。|
2770
2771**返回值:**
2772
2773  | 类型     | 说明       |
2774  | ------ | -------- |
2775  | number | 实际写入的长度。 |
2776
2777**错误码:**
2778
2779接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2780
2781**示例:**
2782
2783  ```js
2784  let filePath = pathDir + "/test.txt";
2785  let ss= fs.createStreamSync(filePath,"r+");
2786  let num = ss.writeSync("hello, world", {offset: 5, length: 5, encoding :'utf-8'});
2787  ```
2788
2789### read
2790
2791read(buffer: ArrayBuffer, options?: { offset?: number; length?: number; }): Promise&lt;number&gt;
2792
2793从流文件读取数据,使用Promise异步回调。
2794
2795**系统能力**:SystemCapability.FileManagement.File.FileIO
2796
2797**参数:**
2798
2799  | 参数名     | 类型          | 必填   | 说明                                       |
2800  | ------- | ----------- | ---- | ---------------------------------------- |
2801  | buffer  | ArrayBuffer | 是    | 用于读取文件的缓冲区。                              |
2802  | options | Object      | 否    | 支持如下选项:<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。 |
2803
2804**返回值:**
2805
2806  | 类型                                 | 说明     |
2807  | ---------------------------------- | ------ |
2808  | Promise&lt;number&gt; | Promise对象。返回读取的结果。 |
2809
2810**错误码:**
2811
2812接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2813
2814**示例:**
2815
2816  ```js
2817  let filePath = pathDir + "/test.txt";
2818  let ss = fs.createStreamSync(filePath, "r+");
2819  let buf = new ArrayBuffer(4096);
2820  ss.read(buf, {offset: 5, length: 5}).then((readLen) => {
2821    console.info("read data succeed");
2822    console.log(String.fromCharCode.apply(null, new Uint8Array(buf.slice(0, readLen))));
2823  }).catch((err) => {
2824      console.info("read data failed with error message: " + err.message + ", error code: " + err.code);
2825  });
2826  ```
2827
2828### read
2829
2830read(buffer: ArrayBuffer, options?: { position?: number; offset?: number; length?: number; }, callback: AsyncCallback&lt;number&gt;): void
2831
2832从流文件读取数据,使用callback异步回调。
2833
2834**系统能力**:SystemCapability.FileManagement.File.FileIO
2835
2836**参数:**
2837
2838  | 参数名      | 类型                                       | 必填   | 说明                                       |
2839  | -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2840  | buffer   | ArrayBuffer                              | 是    | 用于读取文件的缓冲区。                              |
2841  | options  | Object                                   | 否    | 支持如下选项:<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读. |
2842  | callback | AsyncCallback&lt;number&gt; | 是    | 异步从流文件读取数据之后的回调。                         |
2843
2844**错误码:**
2845
2846接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2847
2848**示例:**
2849
2850  ```js
2851  let filePath = pathDir + "/test.txt";
2852  let ss = fs.createStreamSync(filePath, "r+");
2853  let buf = new ArrayBuffer(4096)
2854  ss.read(buf, {offset: 5, length: 5}, (err, readLen) => {
2855    if (err) {
2856      console.info("read stream failed with error message: " + err.message + ", error code: " + err.code);
2857    } else {
2858      console.info("read data succeed");
2859      console.log(String.fromCharCode.apply(null, new Uint8Array(buf.slice(0, readLen))));
2860    }
2861  });
2862  ```
2863
2864### readSync
2865
2866readSync(buffer: ArrayBuffer, options?: { offset?: number; length?: number; }): number
2867
2868以同步方法从流文件读取数据。
2869
2870**系统能力**:SystemCapability.FileManagement.File.FileIO
2871
2872**参数:**
2873
2874  | 参数名     | 类型          | 必填   | 说明                                       |
2875  | ------- | ----------- | ---- | ---------------------------------------- |
2876  | buffer  | ArrayBuffer | 是    | 用于读取文件的缓冲区。                              |
2877  | options | Object      | 否    | 支持如下选项:<br/>-&nbsp;length,number类型,表示期望读取数据的长度。可选,默认缓冲区长度。<br/>-&nbsp;offset,number类型,表示期望读取文件的位置。可选,默认从当前位置开始读。<br/>  |
2878
2879**返回值:**
2880
2881  | 类型     | 说明       |
2882  | ------ | -------- |
2883  | number | 实际读取的长度。 |
2884
2885**错误码:**
2886
2887接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2888
2889**示例:**
2890
2891  ```js
2892  let filePath = pathDir + "/test.txt";
2893  let ss = fs.createStreamSync(filePath, "r+");
2894  let num = ss.readSync(new ArrayBuffer(4096), {offset: 5, length: 5});
2895  ```
2896
2897## File
2898
2899由open接口打开的File对象。
2900
2901**系统能力**:SystemCapability.FileManagement.File.FileIO
2902
2903### 属性
2904
2905| 名称   | 类型   | 可读   | 可写   | 说明      |
2906| ---- | ------ | ---- | ---- | ------- |
2907| fd | number | 是    | 否    | 打开的文件描述符。 |
2908
2909### lock
2910
2911lock(exclusive?: boolean): Promise\<void>
2912
2913文件阻塞式施加共享锁或独占锁,使用Promise异步回调。
2914
2915**系统能力**:SystemCapability.FileManagement.File.FileIO
2916
2917**参数:**
2918
2919  | 参数名     | 类型          | 必填   | 说明                                       |
2920  | ------- | ----------- | ---- | ---------------------------------------- |
2921  | exclusive  | boolean | 否   | 是否施加独占锁,默认false。       |
2922
2923**返回值:**
2924
2925  | 类型                                 | 说明     |
2926  | ---------------------------------- | ------ |
2927  | Promise&lt;void&gt; | Promise对象。无返回值。 |
2928
2929**错误码:**
2930
2931接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2932
2933**示例:**
2934
2935  ```js
2936  let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
2937  file.lock(true).then(() => {
2938    console.log("lock file successful");
2939  }).catch((err) => {
2940      console.info("lock file failed with error message: " + err.message + ", error code: " + err.code);
2941  });
2942  ```
2943
2944### lock
2945
2946lock(exclusive?: boolean, callback: AsyncCallback\<void>): void
2947
2948文件阻塞式施加共享锁或独占锁,使Callback异步回调。
2949
2950**系统能力**:SystemCapability.FileManagement.File.FileIO
2951
2952**参数:**
2953
2954  | 参数名     | 类型          | 必填   | 说明                                       |
2955  | ------- | ----------- | ---- | ---------------------------------------- |
2956  | exclusive  | boolean | 否   | 是否施加独占锁,默认false。       |
2957  | callback | AsyncCallback&lt;void&gt; | 是    | 异步文件上锁之后的回调。   |
2958
2959**错误码:**
2960
2961接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2962
2963**示例:**
2964
2965  ```js
2966  let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
2967  file.lock(true, (err) => {
2968    if (err) {
2969      console.info("lock file failed with error message: " + err.message + ", error code: " + err.code);
2970    } else {
2971      console.log("lock file successful");
2972    }
2973  });
2974  ```
2975
2976### tryLock
2977
2978tryLock(exclusive?: boolean): void
2979
2980文件非阻塞式施加共享锁或独占锁。
2981
2982**系统能力**:SystemCapability.FileManagement.File.FileIO
2983
2984**参数:**
2985
2986  | 参数名     | 类型          | 必填   | 说明                                       |
2987  | ------- | ----------- | ---- | ---------------------------------------- |
2988  | exclusive  | boolean | 否   | 是否施加独占锁,默认false。       |
2989
2990**错误码:**
2991
2992接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
2993
2994**示例:**
2995
2996  ```js
2997  let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
2998  file.tryLock(true);
2999  console.log("lock file successful");
3000  ```
3001
3002### unlock
3003
3004unlock(): void
3005
3006以同步方式给文件解锁。
3007
3008**系统能力**:SystemCapability.FileManagement.File.FileIO
3009
3010**错误码:**
3011
3012接口抛出错误码的详细介绍请参见[基础文件IO错误码](../errorcodes/errorcode-filemanagement.md#基础文件io错误码)。
3013
3014**示例:**
3015
3016  ```js
3017  let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
3018  file.tryLock(true);
3019  file.unlock();
3020  console.log("unlock file successful");
3021  ```
3022
3023## OpenMode
3024
3025open接口flags参数常量。文件打开标签。
3026
3027**系统能力**:SystemCapability.FileManagement.File.FileIO
3028
3029| 名称   | 类型   | 值  | 说明      |
3030| ---- | ------ |---- | ------- |
3031| READ_ONLY | number |  0o0   | 只读打开。 |
3032| WRITE_ONLY | number | 0o1    | 只写打开。 |
3033| READ_WRITE | number | 0o2    | 读写打开。 |
3034| CREATE | number | 0o100    | 若文件不存在,则创建文件。 |
3035| TRUNC | number | 0o1000    | 如果文件存在且以只写或读写的方式打开文件,则将其长度裁剪为零。 |
3036| APPEND | number | 0o2000   | 以追加方式打开,后续写将追加到文件末尾。 |
3037| NONBLOCK | number | 0o4000    | 如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。 |
3038| DIR | number | 0o200000    | 如果path不指向目录,则出错。 |
3039| NOFOLLOW | number | 0o400000    | 如果path指向符号链接,则出错。 |
3040| SYNC | number | 0o4010000    | 以同步IO的方式打开文件。 |
3041
3042## Filter
3043
3044**系统能力**:SystemCapability.FileManagement.File.FileIO
3045
3046文件过滤配置项类型,支持listFile接口使用。
3047
3048| 名称        | 类型       | 说明                |
3049| ----------- | --------------- | ------------------ |
3050| suffix | Array&lt;string&gt;     | 文件后缀名完全匹配,各个关键词OR关系。           |
3051| displayName    | Array&lt;string&gt;     | 文件名模糊匹配,各个关键词OR关系。 |
3052| mimeType    | Array&lt;string&gt; | mime类型完全匹配,各个关键词OR关系。       |
3053| fileSizeOver    | number | 文件大小匹配,大于等于指定大小的文件。       |
3054| lastModifiedAfter    | number | 文件最近修改时间匹配,在指定时间点及之后的文件。       |
3055| excludeMedia    | boolean | 是否排除Media中已有的文件。       |
3056