# 文件存储 file

# 导入模块

import file from '@system.file';

文件或目录的 uri 字符串最大长度为128,且不能包含“"*+,:;<=>?[]|\x7F”等特殊符号。

# file.move(OBJECT)

将指定文件移动到其他指定位置。

  • 参数
参数名 类型 必填 说明
srcUri string 要移动的文件的uri。
dstUri string 文件要移动到的位置的uri。
success Function 成功回调,返回文件要移动到的位置的uri。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.move({
  srcUri: 'internal://cache/path/to/file',
  dstUri: 'internal://files/path/to/file',
  success: function(uri) {
    console.log(`move success: ${uri}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.copy(OBJECT)

将指定文件拷贝并存储到指定位置

  • 参数
参数名 类型 必填 说明
srcUri string 要拷贝的文件的uri。
dstUri string 文件要拷贝到的位置的uri。
success Function 成功回调,返回文件要拷贝到的位置的uri。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.copy({
  srcUri: 'internal://cache/path/to/file',
  dstUri: 'internal://files/path/to/file',
  success: function(uri) {
    console.log(`move success: ${uri}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.list(OBJECT)

获取指定路径下全部文件的列表

  • 参数
参数名 类型 必填 说明
uri string 目录uri。
success Function 成功回调,返回文件要拷贝到的位置的uri。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • success返回值
参数名 类型 说明
fileList Array<FileInfo> 获取的文件列表
  • 表1 FileInfo
参数名 类型 说明
uri string 文件的 uri。
lastModifiedTime number 文件上一次保存时的时间戳,显示从1970/01/01 00:00:00 GMT到当前时间的秒数。
length number 文件的大小,单位为字节。
type string 文件的类型,可选值为:
dir:目录;
file:文件。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。

# file.get(OBJECT)

获取指定本地文件的信息

  • 参数
参数名 类型 必填 说明
uri string 要拷贝的文件的uri。
recursive boolean 是否进行递归获取子目录文件列表,缺省为false。
success Function 成功回调,返回文件要拷贝到的位置的uri。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • success返回值
参数名 类型 说明
uri string 文件的 uri。
lastModifiedTime number 文件上一次保存时的时间戳,显示从1970/01/01 00:00:00 GMT到当前时间的秒数。
length number 文件的大小,单位为字节。当type等于dir时,length 固定为0。
type string 文件的类型,可选值为:
dir:目录;
file:文件。
subFiles Array 文件列表。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.get({
  uri: 'internal://files/path/to/file',
  success: function(data) {
    console.log(data.uri)
    console.log(data.length)
    console.log(data.lastModifiedTime)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.delete(OBJECT)

删除本地文件

  • 参数
参数名 类型 必填 说明
uri string 删除文件的uri。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.delete({
  uri: 'internal://files/path/to/file',
  success: function(data) {
    console.log('handling success')
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.writeText(OBJECT)

写文本内容到指定文件。

  • 参数
参数名 类型 必填 说明
uri string 本地文件uri,如果文件不存在会创建文件。
text string 写入的字符串。
encoding string 编码格式,默认为UTF-8
append boolean 是否追加模式,默认为false。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.writeText({
  uri: 'internal://files/work/demo.txt',
  text: 'test',
  success: function() {
    console.log('handling success')
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.writeArrayBuffer(OBJECT)

写Buffer内容到指定文件。

  • 参数
参数名 类型 必填 说明
uri string 本地文件uri,如果文件不存在会创建文件。
buffer Uint8Array 写入的Buffer。
position number 文件开始写入数据的位置的偏移量,默认为0。
append boolean 是否追加模式,默认为false。当设置为true时,position参数无效。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.writeArrayBuffer({
  uri: 'internal://files/work/demo',
  buffer: buffer,
  success: function() {
    console.log('handling success')
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.readText(OBJECT)

从指定文件中读取文本内容。

  • 参数
参数名 类型 必填 说明
uri string 本地文件uri。
encoding string 编码格式,缺省为UTF-8。
position number 读取的起始位置,默认值为文件的起始位置。
length number 读取的长度,默认值为4096。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • success返回值
参数名 类型 说明
text string 读取到的文本内容。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.readText({
  uri: 'internal://files/work/demo.txt',
  success: function(data) {
    console.log('text: ' + data.text)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.readArrayBuffer(OBJECT)

从指定文件中读取Buffer内容。

  • 参数
参数名 类型 必填 说明
uri string 本地文件uri。
position number 读取的起始位置,缺省为文件的起始位置。
length number 需要读取的长度,缺省则读取到文件结尾。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • success返回值
参数名 类型 说明
buffer Uint8Array 读取到的文件内容。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.readArrayBuffer({
  uri: 'internal://files/work/demo',
  position: 100,
  length: 100,
  success: function(data) {
    console.log('buffer.length: ' + data.buffer.length)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.access(OBJECT)

判断指定文件或目录是否存在。

  • 参数
参数名 类型 必填 说明
uri string 目录或文件uri。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
  • 示例
file.access({
  uri: 'internal://files/test',
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.mkdir(OBJECT)

创建指定目录。不能用来创建文件。

  • 参数
参数名 类型 必填 说明
uri string 目录的uri路径。
recursive boolean 是否递归创建该目录的上级目录,缺省为false。
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
  • 示例
file.mkdir({
  uri: 'internal://files/dir',
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

# file.rmdir(OBJECT)

删除指定目录。

  • 参数
参数名 类型 必填 说明
uri string 目录的uri路径。
recursive boolean 是否递归删除该目录下的子文件夹和文件,缺省为false。false表示删除空文件夹
success Function 成功回调。
fail Function 失败回调。
complete Function 执行结束后的回调。
  • fail返回错误代码
错误码 说明
202 出现参数错误。
300 出现I/O错误。
301 文件或目录不存在。
file.rmdir({
  uri: 'internal://cache',
  success: function(data) {
    console.log(`handling success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})