微信小游戏读文件操作
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 | 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)
}
})
}
前面是抄的技术文档,示例代码自己写的,单纯记录一下自己的新手时光,以及个人加深记忆(侵权删)