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