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,且不能包含“"\*+,:;<=>?[]\|\x7F”等特殊符号。 | 134| success | Function | 否 | 接口调用成功的回调函数。 | 135| fail | Function | 否 | 接口调用失败的回调函数。 | 136| complete | Function | 否 | 接口调用结束的回调函数。 | 137 138success返回值: 139 140| 参数名 | 类型 | 说明 | 141| -------- | -------- | -------- | 142| fileList | Array<FileInfo> | 获取的文件列表,其中每个文件的信息的格式为:<br/>{<br/>uri:'file1',<br/>lastModifiedTime:1589965924479,<br/>length:10240,<br/>type: 'file'<br/>} | 143 144**表1** FileInfo 145 146| 参数名 | 类型 | 说明 | 147| -------- | -------- | -------- | 148| uri | string | 文件的 uri。 | 149| lastModifiedTime | number | 文件上一次保存时的时间戳,显示从1970/01/01 00:00:00 GMT到当前时间的毫秒数。 | 150| length | number | 文件的大小,单位为字节。 | 151| type | string | 文件的类型,可选值为:<br/>- dir:目录;<br/>- 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 00:00:00到当前时间的毫秒数。 | 209| type | string | 文件类型,可选值为:<br/>- dir:目录;<br/>- 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 错误。 | 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 错误。 | 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 错误。 | 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```