FileSystemManager.openSync
基础库 3.74.0 开始支持本方法,这是一个同步方法。
打开文件,返回文件描述符
| 前提条件 | 无 |
| 业务背景 | 无 |
| 使用限制 | 无 |
| 注意事项 | 无 |
| 相关教程 | 无 |
语法
FileSystemManager.openSync(params)
参数说明
params 类型说明
object 类型,属性如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
|---|---|---|---|---|---|
| filePath | string | 是 | 文件路径 | 3.74.0 | |
| flag | enum | r | 否 | 文件系统标志,默认值: 'r' | 3.74.0 |
flag 的合法值
| 值 | 说明 | 最低支持版本 |
|---|---|---|
| a | 打开文件用于追加。 如果文件不存在,则创建该文件 | 3.74.0 |
| wx | 类似于 'w',但如果路径存在,则失败 | 3.74.0 |
| w | 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件 | 3.74.0 |
| ax | 类似于 'a',但如果路径存在,则失败 | 3.74.0 |
| a+ | 打开文件用于读取和追加。 如果文件不存在,则创建该文件 | 3.74.0 |
| ax+ | 类似于 'a+',但如果路径存在,则失败 | 3.74.0 |
| as | 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件 | 3.74.0 |
| as+ | 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件 | 3.74.0 |
| r | 打开文件用于读取。 如果文件不存在,则会发生异常 | 3.74.0 |
| r+ | 打开文件用于读取和写入。 如果文件不存在,则会发生异常 | 3.74.0 |
| w+ | 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件 | 3.74.0 |
| wx+ | 类似于 'w+',但如果路径存在,则失败 | 3.74.0 |
返回值
| 类型 | 说明 | 最低支持版本 |
|---|---|---|
| string | 文件描述符 | 3.74.0 |
错误码
| errNo | errMsg | 说明 | 最低支持版本 |
|---|---|---|---|
| 20001 | invalid param | 参数错误 | 3.74.0 |
| 21100 | no such file or directory ${path} | 文件/目录不存在,或者目 标文件路径的上层目录不存在 | 3.74.0 |
| 21101 | Path permission denied | 传入的路径没有权限 | 3.74.0 |
| 21102 | system error | 小游戏框架内部错误,有需要请创建工单咨询 | 3.74.0 |
| 21103 | illegal operation on a directory | 不可对目录进行此操作(例如,指定的 filePath 是一个已经存在的目录) | 3.74.0 |
| 21104 | illegal operation on a package directory | 不可对代码包目录进行此操作 | 3.74.0 |
| 21105 | file already exists ${dirPath} | 已有同名文件或目录 | 3.74.0 |
| 21106 | excced max concurrent fd limit | fd数量已达上限 | 3.74.0 |
| 21107 | invalid flag | 无效的 flag | 3.74.0 |
| 21108 | permission denied when open using flag | 无法使用 flag 标志打开文件 | 3.74.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
try { const fs = tt.getFileSystemManager(); const fd = fs.openSync({ filePath: tempFilePath, flag: "r", }); console.log("fd", fd); } catch (err) { console.log("fail", err); }
