FileSystemManager.read
简介
读文件。
使用限制
基础库版本从 3.0.0
或更高版本支持。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
fd | string | 是 | 文件描述符。fd 通过 FileSystemManager.open 接口获得 | |
arrayBuffer | ArrayBuffer | 是 | 数据写入的缓冲区,必须是 ArrayBuffer 实例 | |
offset | number | 0 | 否 | 缓冲区中的写入偏移量,默认 0 |
length | number | 0 | 否 | 要从文件中读取的字节数,默认 0 |
position | number | 0 | 否 | 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
bytesRead | number | 实际读取的字节数 |
arrayBuffer | ArrayBuffer | 被写入的缓存区的对象,即接口入参的 arrayBuffer |
object.fail 回调函数
参数
Object res
属性 | 类型 | 说明 |
---|---|---|
errMsg | string | 错误信息 |
errMsg 说明
错误信息 | 说明 |
---|---|
parameter error: F10001 | 参数不合法 |
bad file descriptor: F10003 | 无效的文件描述符 |
fail permission denied: F10005 | 指定的 fd 路径没有读权限 |
native buffer exceeds size limit: F10008 | 文件大小超出上限(100M) |
示例代码
// pages/index/index.js
Page({
read() {
const fs = dlt.getFileSystemManager();
const ab = new ArrayBuffer(1024);
// 打开文件
fs.open({
filePath: `${dlt.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);
},
});
},
});
},
});