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