跳到主要内容

文件系统

文件系统介绍​

详情请见文件系统概览

文件系统管理​

1. 注入文件系统路径映射规则​

通过 injectFileSystemRule 注入对应协议名的文件路径。

接口原型​

void injectFileSystemRule(String protocol, String path)
void injectFileSystemRule(int type, String protocol, String path)

参数说明​

参数数据类型必填属性说明
typeint否注入类型, 可选值: FS_DEFAULT, FS_LOCAL_TEMPORARY, FS_LOCAL_CACHE, FS_LOCAL_USER
protocolString是协议名
pathString是文件路径

代码示例​

// 仅注入文件路径映射,可多次调用,游戏退出后 clear
// injectFileSystemRule(String protocol, String path);
// injectFileSystemRule(TJConstants.FS_DEFAULT, String protocol, String path);
hostHandle.injectFileSystemRule("protocol name", "path");
hostHandle.injectFileSystemRule(TJConstants.FS_DEFAULT, "default protocol", "file path");
// 覆盖宿主代码包路径 除 FS_DEFAULT type,其他 type 多次调用会覆盖之前的值
// injectFileSystemRule(int type, String protocol, String path) | FS_LOCAL_TEMPORARY | FS_LOCAL_CACHE | FS_LOCAL_USER
// 本地临时文件:临时产生,随时会被回收的文件。不限制存储大小。
hostHandle.injectFileSystemRule(TJConstants.FS_LOCAL_TEMPORARY, "temp protocol", "local temp path");
// 本地缓存文件:通过接口把本地临时文件缓存后产生的文件,不能自定义目录和文件名 gameHandle.injectFileSystemRule(TJConstantS.FS_LOCAL_CACE,protocol:"cache 协议",path: "local cache path");
// 本地用户文件:通过接口把本地临时文件缓存后产生的文件,允许自定义目录和文件名
// 等同于 env.USER_DATA_PATH
hostHandle.injectFileSystemRule(TJConstants.FS_LOCAL_USER, "user path protocol", "local user path");

2. 更新文件系统路径映射规则​

用于游戏运行时,在 injectFileSystemRule 之后调用以通知宿主更新文件系统映射规则。
注: 更新映射规则可能会导致正在执行中的文件操作失败。

接口原型​

void updateFileSystemRule()

3. 获取宿主 USER_DATA_PATH​

获取宿主 USER_DATA_PATH 存储路径。

接口原型​

String getUserDataPath()