• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @system.file (文件存储)
2
3> **说明:**
4> - 从API Version 10开始,该接口不再维护,推荐使用新接口[`@ohos.file.fs`](js-apis-file-fs.md)。
5>
6> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8
9## 导入模块
10
11
12```
13import file from '@system.file';
14```
15
16
17## file.move
18
19move(Object): void
20
21将指定文件移动到其他指定位置。
22
23> **说明**:
24>
25> 从API version 10开始废弃,请使用[fs.moveFile](js-apis-file-fs.md#fsmovefile)替代。
26
27**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
28
29**参数:**
30
31| 参数名 | 类型 | 必填 | 说明 |
32| -------- | -------- | -------- | -------- |
33| srcUri | string | 是 | 要移动的文件的uri。字符串最大长度为128,且不能包含“"\*+,:;<=>?[]\|\x7F”等特殊符号。 |
34| dstUri | string | 是 | 文件要移动到的位置的uri。字符串最大长度为128,且不能包含“"\*+,:;<=>?[]\|\x7F”等特殊符号。 |
35| success | Function | 否 | 接口调用成功的回调函数,返回文件要移动到的位置的uri。 |
36| fail | Function | 否 | 接口调用失败的回调函数。 |
37| complete | Function | 否 | 接口调用结束的回调函数。 |
38
39fail返回错误代码:
40
41| 错误码 | 说明 |
42| -------- | -------- |
43| 202 | 出现参数错误。 |
44| 300 | 出现I/O错误。 |
45| 301 | 文件或目录不存在。 |
46
47**示例:**
48
49```
50export default {
51  move() {
52    file.move({
53      srcUri: 'internal://app/myfiles1',
54      dstUri: 'internal://app/myfiles2',
55      success: function(uri) {
56        console.log('call success callback success');
57      },
58      fail: function(data, code) {
59        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
60      },
61    });
62  }
63}
64```
65
66
67## file.copy
68
69copy(Object): void
70
71将指定文件拷贝并存储到指定位置。
72
73> **说明**:
74>
75> 从API version 10开始废弃,请使用[fs.copyFile](js-apis-file-fs.md#fscopyfile)替代。
76
77**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
78
79**参数:**
80
81| 参数名 | 类型 | 必填 | 说明 |
82| -------- | -------- | -------- | -------- |
83| srcUri | string | 是 | 要拷贝的文件的uri。 |
84| dstUri | string | 是 | 文件要拷贝到的位置的uri。<br/>不支持用应用资源路径或tmp类型的uri。 |
85| success | Function | 否 | 接口调用成功的回调函数,返回文件要拷贝到的位置的uri。 |
86| fail | Function | 否 | 接口调用失败的回调函数。 |
87| complete | Function | 否 | 接口调用结束的回调函数。 |
88
89fail返回错误代码:
90
91| 错误码 | 说明 |
92| -------- | -------- |
93| 202 | 出现参数错误。 |
94| 300 | 出现I/O错误。 |
95| 301 | 文件或目录不存在。 |
96
97**示例:**
98
99```
100export default {
101  copy() {
102    file.copy({
103      srcUri: 'internal://app/file.txt',
104      dstUri: 'internal://app/file_copy.txt',
105      success: function(uri) {
106        console.log('call success callback success');
107      },
108      fail: function(data, code) {
109        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
110      },
111    });
112  }
113}
114```
115
116
117## file.list
118
119list(Object): void
120
121获取指定路径下全部文件的列表。
122
123> **说明**:
124>
125> 从API version 10开始废弃,请使用[fs.listFile](js-apis-file-fs.md#fslistfile)替代。
126
127**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
128
129**参数:**
130
131| 参数名 | 类型 | 必填 | 说明 |
132| -------- | -------- | -------- | -------- |
133| uri | string | 是 | 目录uri。字符串最大长度为128,且不能包含“"\*+,:;&lt;=&gt;?[]\|\x7F”等特殊符号。 |
134| success | Function | 否 | 接口调用成功的回调函数。 |
135| fail | Function | 否 | 接口调用失败的回调函数。 |
136| complete | Function | 否 | 接口调用结束的回调函数。 |
137
138success返回值:
139
140| 参数名 | 类型 | 说明 |
141| -------- | -------- | -------- |
142| fileList | Array&lt;FileInfo&gt; | 获取的文件列表,其中每个文件的信息的格式为:<br/>{<br/>uri:'file1',<br/>lastModifiedTime:1589965924479,<br/>length:10240,<br/>type:&nbsp;'file'<br/>} |
143
144**表1** FileInfo
145
146| 参数名 | 类型 | 说明 |
147| -------- | -------- | -------- |
148| uri | string | 文件的&nbsp;uri。 |
149| lastModifiedTime | number | 文件上一次保存时的时间戳,显示从1970/01/01&nbsp;00:00:00&nbsp;GMT到当前时间的毫秒数。 |
150| length | number | 文件的大小,单位为字节。 |
151| type | string | 文件的类型,可选值为:<br/>-&nbsp;dir:目录;<br/>-&nbsp;file:文件。 |
152
153fail返回错误代码:
154
155| 错误码 | 说明 |
156| -------- | -------- |
157| 202 | 出现参数错误。 |
158| 300 | 出现I/O错误。 |
159| 301 | 文件或目录不存在。 |
160
161**示例:**
162
163```
164export default {
165  list() {
166    file.list({
167      uri: 'internal://app/pic',
168      success: function(data) {
169        console.log(JSON.stringify(data.fileList));
170      },
171      fail: function(data, code) {
172        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
173      },
174    });
175  }
176}
177```
178
179
180## file.get
181
182get(Object): void
183
184获取指定本地文件的信息。
185
186> **说明**:
187>
188> 从API version 10开始废弃,请使用[fs.stat](js-apis-file-fs.md#fsstat)替代。
189
190**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
191
192**参数:**
193
194| 参数名 | 类型 | 必填 | 说明 |
195| -------- | -------- | -------- | -------- |
196| uri | string | 是 | 文件的uri。 |
197| recursive | boolean | 否 | 是否进行递归获取子目录文件列表,缺省为false。 |
198| success | Function | 否 | 接口调用成功的回调函数。 |
199| fail | Function | 否 | 接口调用失败的回调函数。 |
200| complete | Function | 否 | 接口调用结束的回调函数。 |
201
202success返回值:
203
204| 参数名 | 类型 | 说明 |
205| -------- | -------- | -------- |
206| uri | string | 文件的uri。 |
207| length | number | 文件字节长。 |
208| lastModifiedTime | number | 文件保存时的时间戳,从1970/01/01&nbsp;00:00:00到当前时间的毫秒数。 |
209| type | string | 文件类型,可选值为:<br/>-&nbsp;dir:目录;<br/>-&nbsp;file:文件。 |
210| subFiles | Array | 文件列表。 |
211
212fail返回错误代码:
213
214| 错误码 | 说明 |
215| -------- | -------- |
216| 202 | 出现参数错误。 |
217| 300 | 出现I/O错误。 |
218| 301 | 文件或目录不存在。 |
219
220**示例:**
221
222```
223export default {
224  get() {
225    file.get({
226      uri: 'internal://app/file',
227      success: function(data) {
228        console.log(data.uri);
229      },
230      fail: function(data, code) {
231        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
232      },
233    });
234  }
235}
236```
237
238
239## file.delete
240
241delete(Object): void
242
243删除本地文件。
244
245> **说明**:
246>
247> 从API version 10开始废弃,请使用[fs.unlink](js-apis-file-fs.md#fsunlink)替代。
248
249**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
250
251**参数:**
252
253| 参数名 | 类型 | 必填 | 说明 |
254| -------- | -------- | -------- | -------- |
255| uri | string | 是 | 删除文件的uri,不能是应用资源路径。 |
256| success | Function | 否 | 接口调用成功的回调函数。 |
257| fail | Function | 否 | 接口调用失败的回调函数。 |
258| complete | Function | 否 | 接口调用结束的回调函数。 |
259
260fail返回错误代码:
261
262| 错误码 | 说明 |
263| -------- | -------- |
264| 202 | 参数错误。 |
265| 300 | I/O错误。 |
266| 301 | 文件或目录不存在。 |
267
268**示例:**
269
270```
271export default {
272  delete() {
273    file.delete({
274      uri: 'internal://app/my_file',
275      success: function() {
276        console.log('call delete success.');
277      },
278      fail: function(data, code) {
279        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
280      },
281    });
282  }
283}
284```
285
286
287## file.writeText
288
289writeText(Object): void
290
291写文本内容到指定文件。仅支持文本文档读写。
292
293> **说明**:
294>
295> 从API version 10开始废弃,请使用[fs.write](js-apis-file-fs.md#fswrite)替代。
296
297**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
298
299**参数:**
300
301| 参数名 | 类型 | 必填 | 说明 |
302| -------- | -------- | -------- | -------- |
303| uri | string | 是 | 本地文件uri,如果文件不存在会创建文件。 |
304| text | string | 是 | 写入的字符串。 |
305| encoding | string | 否 | 编码格式,默认为UTF-8。 |
306| append | boolean | 否 | 是否追加模式,默认为false。 |
307| success | Function | 否 | 接口调用成功的回调函数。 |
308| fail | Function | 否 | 接口调用失败的回调函数。 |
309| complete | Function | 否 | 接口调用结束的回调函数。 |
310
311fail返回错误代码:
312
313| 错误码 | 说明 |
314| -------- | -------- |
315| 202 | 参数错误。 |
316| 300 | I/O错误。 |
317
318**示例:**
319
320```
321export default {
322  writeText() {
323    file.writeText({
324      uri: 'internal://app/test.txt',
325      text: 'Text that just for test.',
326      success: function() {
327        console.log('call writeText success.');
328      },
329      fail: function(data, code) {
330        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
331      },
332    });
333  }
334}
335```
336
337
338## file.writeArrayBuffer
339
340writeArrayBuffer(Object): void
341
342写Buffer内容到指定文件。仅支持文本文档读写。
343
344> **说明**:
345>
346> 从API version 10开始废弃,请使用[fs.write](js-apis-file-fs.md#fswrite)替代。
347
348**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
349
350**参数:**
351
352| 参数名 | 类型 | 必填 | 说明 |
353| -------- | -------- | -------- | -------- |
354| uri | string | 是 | 本地文件uri,如果文件不存在会创建文件。 |
355| buffer | Uint8Array | 是 | 写入的Buffer。 |
356| position | number | 否 | 文件开始写入数据的位置的偏移量,默认为0。 |
357| append | boolean | 否 | 是否追加模式,默认为false。当设置为true时,position参数无效。 |
358| success | Function | 否 | 接口调用成功的回调函数。 |
359| fail | Function | 否 | 接口调用失败的回调函数。 |
360| complete | Function | 否 | 接口调用结束的回调函数。 |
361
362fail返回错误代码:
363
364| 错误码 | 说明 |
365| -------- | -------- |
366| 202 | 出现参数错误。 |
367| 300 | 出现I/O错误。 |
368
369**示例:**
370
371```
372export default {
373  writeArrayBuffer() {
374    file.writeArrayBuffer({
375      uri: 'internal://app/test',
376      buffer: new Uint8Array(8), //buffer为Uint8Array类型
377      success: function() {
378        console.log('call writeArrayBuffer success.');
379      },
380      fail: function(data, code) {
381        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
382      },
383    });
384  }
385}
386```
387
388
389## file.readText
390
391readText(Object): void
392
393从指定文件中读取文本内容。仅支持文本文档读写。
394
395> **说明**:
396>
397> 从API version 10开始废弃,请使用[fs.readText](js-apis-file-fs.md#fsreadtext)替代。
398
399**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
400
401**参数:**
402
403| 参数名 | 类型 | 必填 | 说明 |
404| -------- | -------- | -------- | -------- |
405| uri | string | 是 | 本地文件uri。 |
406| encoding | string | 否 | 编码格式,缺省为UTF-8。 |
407| position | number | 否 | 读取的起始位置,默认值为文件的起始位置。 |
408| length | number | 否 | 读取的长度,默认值为4096。 |
409| success | Function | 否 | 接口调用成功的回调函数。 |
410| fail | Function | 否 | 接口调用失败的回调函数。 |
411| complete | Function | 否 | 接口调用结束的回调函数。 |
412
413success返回值:
414
415| 参数名 | 类型 | 说明 |
416| -------- | -------- | -------- |
417| text | string | 读取到的文本内容。 |
418
419fail返回错误代码:
420
421| 错误码 | 说明 |
422| -------- | -------- |
423| 202 | 出现参数错误。 |
424| 300 | 出现I/O错误。 |
425| 301 | 文件或目录不存在。 |
426| 302 | 要读取的文件内容超过4KB。 |
427
428**示例:**
429
430```
431export default {
432  readText() {
433    file.readText({
434      uri: 'internal://app/text.txt',
435      success: function(data) {
436        console.log('call readText success: ' + data.text);
437      },
438      fail: function(data, code) {
439        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
440      },
441    });
442  }
443}
444```
445
446
447## file.readArrayBuffer
448
449readArrayBuffer(Object): void
450
451从指定文件中读取Buffer内容。仅支持文本文档读写。
452
453> **说明**:
454>
455> 从API version 10开始废弃,请使用[fs.read](js-apis-file-fs.md#fsread)替代。
456
457**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
458
459**参数:**
460
461| 参数名 | 类型 | 必填 | 说明 |
462| -------- | -------- | -------- | -------- |
463| uri | string | 是 | 本地文件uri。 |
464| position | number | 否 | 读取的起始位置,缺省为文件的起始位置。 |
465| length | number | 否 | 需要读取的长度,缺省则读取到文件结尾。 |
466| success | Function | 否 | 接口调用成功的回调函数。 |
467| fail | Function | 否 | 接口调用失败的回调函数。 |
468| complete | Function | 否 | 接口调用结束的回调函数。 |
469
470success返回值:
471
472| 参数名 | 类型 | 说明 |
473| -------- | -------- | -------- |
474| buffer | Uint8Array | 读取到的文件内容。 |
475
476fail返回错误代码:
477
478| 错误码 | 说明 |
479| -------- | -------- |
480| 202 | 出现参数错误。 |
481| 300 | 出现I/O错误。 |
482| 301 | 文件或目录不存在。 |
483
484**示例:**
485
486```
487export default {
488  readArrayBuffer() {
489    file.readArrayBuffer({
490      uri: 'internal://app/test',
491      position: 10,
492      length: 200,
493      success: function(data) {
494        console.log('call readArrayBuffer success: ' + data.buffer);
495      },
496      fail: function(data, code) {
497        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
498      },
499    });
500  }
501}
502```
503
504
505## file.access
506
507access(Object): void
508
509判断指定文件或目录是否存在。
510
511> **说明**:
512>
513> 从API version 10开始废弃,请使用[fs.access](js-apis-file-fs.md#fsaccess)替代。
514
515**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
516
517**参数:**
518
519| 参数名 | 类型 | 必填 | 说明 |
520| -------- | -------- | -------- | -------- |
521| uri | string | 是 | 目录或文件uri。 |
522| success | Function | 否 | 接口调用成功的回调函数。 |
523| fail | Function | 否 | 接口调用失败的回调函数。 |
524| complete | Function | 否 | 接口调用结束的回调函数。 |
525
526fail返回错误代码:
527
528| 错误码 | 说明 |
529| -------- | -------- |
530| 202 | 出现参数错误。 |
531| 300 | 出现I/O&nbsp;错误。 |
532| 301 | 文件或目录不存在。 |
533
534**示例:**
535
536```
537export default {
538  access() {
539    file.access({
540      uri: 'internal://app/test',
541      success: function() {
542        console.log('call access success.');
543      },
544      fail: function(data, code) {
545        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
546      },
547    });
548  }
549}
550```
551
552
553## file.mkdir
554
555mkdir(Object): void
556
557创建指定目录。
558
559> **说明**:
560>
561> 从API version 10开始废弃,请使用[fs.mkdir](js-apis-file-fs.md#fsmkdir)替代。
562
563**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
564
565**参数:**
566
567| 参数名 | 类型 | 必填 | 说明 |
568| -------- | -------- | -------- | -------- |
569| uri | string | 是 | 目录的uri路径。 |
570| recursive | boolean | 否 | 是否递归创建该目录的上级目录,缺省为false。 |
571| success | Function | 否 | 接口调用成功的回调函数。 |
572| fail | Function | 否 | 接口调用失败的回调函数。 |
573| complete | Function | 否 | 接口调用结束的回调函数。 |
574
575fail返回错误代码:
576
577| 错误码 | 说明 |
578| -------- | -------- |
579| 202 | 出现参数错误。 |
580| 300 | 出现I/O&nbsp;错误。 |
581
582**示例:**
583
584```
585export default {
586  mkdir() {
587    file.mkdir({
588      uri: 'internal://app/test_directory',
589      success: function() {
590        console.log('call mkdir success.');
591      },
592      fail: function(data, code) {
593        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
594      },
595    });
596  }
597}
598```
599
600
601## file.rmdir
602
603rmdir(Object): void
604
605删除指定目录。
606
607> **说明**:
608>
609> 从API version 10开始废弃,请使用[fs.rmdir](js-apis-file-fs.md#fsrmdir)替代。
610
611**系统能力:** SystemCapability.FileManagement.File.FileIO.Lite
612
613**参数:**
614
615| 参数名 | 类型 | 必填 | 说明 |
616| -------- | -------- | -------- | -------- |
617| uri | string | 是 | 目录的uri路径。 |
618| recursive | boolean | 否 | 是否递归删除子文件和子目录,缺省为false。 |
619| success | Function | 否 | 接口调用成功的回调函数。 |
620| fail | Function | 否 | 接口调用失败的回调函数。 |
621| complete | Function | 否 | 接口调用结束的回调函数。 |
622
623fail返回错误代码:
624
625| 错误码 | 说明 |
626| -------- | -------- |
627| 202 | 出现参数错误。 |
628| 300 | 出现I/O&nbsp;错误。 |
629| 301 | 文件或目录不存在。 |
630
631**示例:**
632
633```
634export default {
635  rmdir() {
636    file.rmdir({
637      uri: 'internal://app/test_directory',
638      success: function() {
639        console.log('call rmdir success.');
640      },
641      fail: function(data, code) {
642        console.error('call fail callback fail, code: ' + code + ', data: ' + data);
643      },
644    });
645  }
646}
647```