微信小游戏读文件操作
FileSystemManager.read(Object object)
参数
Object object
属性 类型 默认值 必填 说明
fd string 是 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.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 无效的文件描述符
示例代码:
static readFile(fileName, cb?) {
if (this.fileSystemManager == null) {
//@ts-ignore
this.fileSystemManager = wx.getFileSystemManager()
}
this.fileSystemManager.readFile({
//@ts-ignore
filePath: ${wx.env.USER_DATA_PATH}/${fileName}.txt
,
success:(res)=> {
let uintData = new Uint8Array(res.data);
// console.log("readFile success",res.data)
if (cb) {
cb(uintData);
}
// console.log(res.data)
},
fail(res) {
console.error(res)
}
})
}
PS: 前面是抄的技术文档,示例代码自己写的,单纯记录一下自己的新手时光。