文件存储

接口声明

  1. { "name": "system.file" }

导入模块

  1. import file from '@system.file' const file = require('@system.file')

接口定义

file.move(OBJECT)

将源文件移动到指定位置,接口中使用的 URI 描述请参考文件组织

参数:

参数名类型必填说明
srcUriString源文件的 uri,不能是应用资源路径和 tmp 类型的 uri
dstUriString目标文件的 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调,返回目标文件的 uri
failFunction失败回调
completeFunction执行结束后的回调
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.move({
  2. srcUri: 'internal://cache/path/to/file',
  3. dstUri: 'internal://files/path/to/file',
  4. success: function(uri) {
  5. console.log(`move success: ${uri}`)
  6. },
  7. fail: function(data, code) {
  8. console.log(`handling fail, code = ${code}`)
  9. }
  10. })

file.copy(OBJECT)

将源文件复制一份并存储到指定位置,接口中使用的 URI 描述请参考文件组织

参数:

参数名类型必填说明
srcUriString源文件的 uri
dstUriString目标文件的 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调,返回目标文件的 uri
failFunction失败回调
completeFunction执行结束后的回调
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.copy({
  2. srcUri: 'internal://cache/path/to/file',
  3. dstUri: 'internal://files/path/to/file',
  4. success: function(uri) {
  5. console.log(`copy success: ${uri}`)
  6. },
  7. fail: function(data, code) {
  8. console.log(`handling fail, code = ${code}`)
  9. }
  10. })

file.list(OBJECT)

获取指定目录下的文件列表,接口中使用的 URI 描述请参考文件组织

参数:

参数名类型必填说明
uriString目录 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调,返回{fileList:[{uri:'file1',lastModifiedTime:1234456, length:123456} …]}
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
fileListArray文件列表,每个文件的格式为{uri:'file1',lastModifiedTime:1234456, length:123456}
每个文件的元信息:
参数名类型说明
uriString文件的 uri,该 uri 可以被其他组件或 Feature 访问
lengthNumber文件大小,单位 B
lastModifiedTimeNumber文件的保存是的时间戳,从 1970/01/01 00:00:00 GMT 到当前时间的毫秒数
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.list({
  2. uri: 'internal://files/movies/',
  3. success: function(data) {
  4. console.log(data.fileList)
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

file.get(OBJECT)

获取本地文件的文件信息,接口中使用的 URI 描述请参考文件组织

参数:

参数名类型必填说明
uriString文件的 uri,不能是应用资源路径
successFunction成功回调,返回{uri:'file1', length:123456, lastModifiedTime:1233456}
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
uriString文件的 uri,该 uri 可以被其他组件或 Feature 访问
lengthNumber文件大小,单位 B
lastModifiedTimeNumber文件的保存是的时间戳,从 1970/01/01 08:00:00 到当前时间的毫秒数
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.get({
  2. uri: 'internal://files/path/to/file',
  3. success: function(data) {
  4. console.log(data.uri)
  5. console.log(data.length)
  6. console.log(data.lastModifiedTime)
  7. },
  8. fail: function(data, code) {
  9. console.log(`handling fail, code = ${code}`)
  10. }
  11. })

file.delete(OBJECT)

删除本地存储的文件,接口中使用的 URI 描述请参考文件组织

参数:

参数名类型必填说明
uriString需要删除的文件 uri,不能是应用资源路径和 tmp 类型的 uri
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.delete({
  2. uri: 'internal://files/path/to/file',
  3. success: function(data) {
  4. console.log('handling success')
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

file.writeText(OBJECT)1010+

写文本到文件

参数:

参数名类型必填说明
uriString本地文件路径,不支持资源文件路径和 tmp 分区,如果文件不存在会创建文件
textString需要写入的字符串
encodingString编码格式,默认 UTF-8
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.writeText({
  2. uri: 'internal://files/work/demo.txt',
  3. text: 'test',
  4. success: function() {
  5. console.log('handling success')
  6. },
  7. fail: function(data, code) {
  8. console.log(`handling fail, code = ${code}`)
  9. }
  10. })

file.writeArrayBuffer(OBJECT)1010+

写 Buffer 到文件

参数:

参数名类型必填说明
uriString本地文件路径,不支持资源文件路径和 tmp 分区,如果文件不存在会创建文件
bufferUint8Array需要写入的 Buffer
positionNumber指向文件开始写入数据的位置的偏移量,默认 0
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误

示例:

  1. file.writeArrayBuffer({
  2. uri: 'internal://files/work/demo',
  3. buffer: buffer,
  4. success: function() {
  5. console.log('handling success')
  6. },
  7. fail: function(data, code) {
  8. console.log(`handling fail, code = ${code}`)
  9. }
  10. })

file.readText(OBJECT)1010+

从文件中读取文本

参数:

参数名类型必填说明
uriString本地文件路径
encodingString编码格式,默认 UTF-8
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
textString读取的文本
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误
301文件不存在

示例:

  1. file.readText({
  2. uri: 'internal://files/work/demo.txt',
  3. success: function(data) {
  4. console.log('text: ' + data.text)
  5. },
  6. fail: function(data, code) {
  7. console.log(`handling fail, code = ${code}`)
  8. }
  9. })

file.readArrayBuffer(OBJECT)1010+

从文件中读取 Buffer

参数:

参数名类型必填说明
uriString本地文件路径
positionNumber读取的起始位置,默认值为文件的起始位置
lengthNumber读取的长度,不填写则读取到文件结尾
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
bufferUint8Array读取的文件内容
fail 返回错误代码:
错误码说明
202参数错误
300I/O 错误
301文件不存在

示例:

  1. file.readArrayBuffer({
  2. uri: 'internal://files/work/demo',
  3. position: 100,
  4. length: 100,
  5. success: function(data) {
  6. console.log('buffer.length: ' + data.buffer.length)
  7. },
  8. fail: function(data, code) {
  9. console.log(`handling fail, code = ${code}`)
  10. }
  11. })

后台运行限制

无限制。后台运行详细用法参见后台运行 脚本