apifs
fs.stat
查看 Markdown查询虚拟文件或目录的类型、大小和修改时间。
查询虚拟文件或目录的类型、大小和修改时间,不跟随符号链接。
KSM.fs.stat(args: {
path: string;
}): Promise<KSMFileMetadata>命名导出调用形式相同:fs.stat({ path })。
| Windows | Android | 权限 |
|---|---|---|
| 支持 | 支持 | fs.read |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
path | string | 是 | 文件、目录或有效 picked 句柄的虚拟路径 |
可查询 app://data、app://cache、app://tmp、app://res、app://assets
以及 app://picked/<id>。虚拟根路径本身可以查询,app://picked 根不可查询。
| 字段 | 类型 | 说明 |
|---|---|---|
kind | 'file' | 'directory' | 资源类型 |
size | number | 文件字节数;目录固定为 0 |
modifiedAt | number | null | Unix 毫秒;宿主无法提供时为 null |
返回的是元数据快照,不保证文件内容在后续读取时仍保持不变。
app://res 和 app://assets 的修改时间可能为 null。NOT_FOUND。size 不使用目录项数量或磁盘占用代替。const metadata = await KSM.fs.stat({
path: 'app://data/config.json'
});
if (metadata.kind === 'file') {
console.info(metadata.size, metadata.modifiedAt);
}| 错误 | 场景 |
|---|---|
普通 TypeError | 路径未通过前端元数据守卫 |
INVALID_ARGS | 宿主参数校验失败 |
PERMISSION_DENIED | 路径越出可读沙箱,或权限不可用 |
NOT_FOUND | 目标不存在、picked token 无效或符号链接不可用 |
NOT_SUPPORTED | 对应文件或资源服务未配置 |
TIMEOUT | 宿主未在默认时间内响应 |
评论