FileSystemManager.read
基础库 3.74.0 开始支持本方法,这是一个异步方法。
读文件
| 前提条件 | 无 |
| 业务背景 | 无 |
| 使用限制 | 无 |
| 注意事项 | 无 |
| 相关教程 | 无 |
语法
FileSystemManager.read(options)
参数说明
options 为 object 类型,属性如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
|---|---|---|---|---|---|
| position | number | 否 | 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 | 3.74.0 | |
| length | number | 0 | 否 | 要从文件中读取的字节数,默认0 | 3.74.0 |
| arrayBuffer | arrayBuffer | 是 | 数据写入的缓冲区,必须是 ArrayBuffer 实例 | 3.74.0 | |
| fd | string | 是 | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 | 3.74.0 | |
| offset | number | 0 | 否 | 缓冲区中的写入偏移量,默认0 | 3.74.0 |
| success | function | 否 | 接口调用成功的回调函数 | 3.74.0 | |
| fail | function | 否 | 接口调用失败的回调函数 | 3.74.0 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 3.74.0 |
回调成功
object 类型,属性如下:
| 属性名 | 类型 | 说明 | 最低支持版本 |
|---|---|---|---|
| errMsg | string | "FileSystemManager.readCompressedFile:ok" | 3.74.0 |
| bytesRead | number | 实际读取的字节数 | 3.74.0 |
| arrayBuffer | arrayBuffer | 被写入的缓存区的对象,即接口入参的 arrayBuffer | 3.74.0 |
回调失败
object 类型,属性如下:
| 属性名 | 类型 | 说明 | 最低支持版本 |
|---|---|---|---|
| errMsg | string | "FileSystemManager.readCompressedFile:fail" + 详细错误信息 | 3.74.0 |
错误码
| errNo | errMsg | 说明 | 最低支持版本 |
|---|---|---|---|
| 20001 | invalid param | 参数错误 | 3.74.0 |
| 21100 | bad file descriptor | 无效的文件描述符 | 3.74.0 |
| 21101 | system error | 小游戏框架内部错误,有需要请创建工单咨询 | 3.74.0 |
| 21102 | illegal operation on a directory | 不可对目录进行此操作(例如,指定的 filePath 是一个已经存在的目录) | 3.74.0 |
| 21103 | value of length is out of range | 传入的 length 不合法 | 3.74.0 |
| 21104 | value of offset is out of range | 传入的 offset 不合法 | 3.74.0 |
| 21105 | value of position is out of range | position 值越界 | 3.74.0 |
| 21106 | invalid fd | 传入的 fd 无效,不是通过 open 打开获得的 | 3.74.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
const fs = tt.getFileSystemManager(); const arrayBuffer = new ArrayBuffer(1024); fs.read({ fd, arrayBuffer, offset: 0, position: 0, length: 10, success: (res) => { console.log('文件读取成功', res); }, fail: (err) => { console.error('文件读取失败', err); } });
