# FileSystemManager.read(Object object)

基础库 2.16.1 开始支持,低版本需做兼容处理

Promise 风格 调用:不支持

小程序插件:支持,需要小程序基础库版本不低于 2.19.2

读文件

# 参数

# Object object

属性 类型 默认值 必填 说明
fd string 文件描述符。fd 通过 FileSystemManager.openFileSystemManager.openSync 接口获得
arrayBuffer ArrayBuffer 数据写入的缓冲区,必须是 ArrayBuffer 实例
offset number 0 缓冲区中的写入偏移量,默认0
length number 0 要从文件中读取的字节数,默认0
position number 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# object.success 回调函数

# 参数
# Object res
属性 类型 说明
bytesRead number 实际读取的字节数
arrayBuffer ArrayBuffer 被写入的缓存区的对象,即接口入参的 arrayBuffer

# object.fail 回调函数

# 参数
# Object res
属性 类型 说明
errMsg string 错误信息
合法值 说明
bad file descriptor 无效的文件描述符
fail permission denied 指定的 fd 路径没有读权限
fail the value of "offset" is out of range 传入的 offset 不合法
fail the value of "length" is out of range 传入的 length 不合法
fail sdcard not mounted android sdcard 挂载失败
bad file descriptor 无效的文件描述符

# 示例代码

const fs = wx.getFileSystemManager()
const ab = new ArrayBuffer(1024)
// 打开文件
fs.open({
  filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  flag: 'a+',
  success(res) {
    // 读取文件到 ArrayBuffer 中
    fs.read({
      fd: res.fd,
      arrayBuffer: ab,
      length: 10,
      success(res) {
        console.log(res)
      }
    })
  }
})