2.2 KiB
2.2 KiB
FileArchive
命名空间: XCEngine::Resources
类型: class
头文件: XCEngine/Resources/FileArchive.h
继承自: IArchive
描述: 文件归档读取器,将文件系统目录作为虚拟归档进行访问。
概述
FileArchive 实现了 IArchive 接口,用于将文件系统目录作为虚拟归档进行访问。它维护已打开目录的路径和有效性状态,支持读取文件、检查存在性、获取文件大小等操作。
继承关系
IArchive
└── FileArchive
公共方法
| 方法 | 描述 |
|---|---|
FileArchive() |
默认构造 |
~FileArchive() |
析构函数,自动关闭归档 |
Open(...) |
打开归档目录 |
Close() |
关闭归档 |
Read(...) |
读取文件数据 |
GetSize(...) |
获取文件大小 |
Exists(...) |
检查文件是否存在 |
Enumerate(...) |
枚举匹配的文件(暂未实现) |
IsValid() |
检查归档是否有效 |
GetPath() |
获取归档路径 |
使用示例
#include <XCEngine/Resources/FileArchive.h>
// 创建并打开归档
FileArchive archive;
if (archive.Open("resources/textures/")) {
// 检查文件是否存在
if (archive.Exists("player.png")) {
// 获取文件大小
size_t size = archive.GetSize("player.png");
// 读取文件内容
Containers::Array<Core::uint8> buffer(size);
if (archive.Read("player.png", buffer.Data(), size, 0)) {
// 处理文件数据
}
}
// 枚举匹配的文件
Containers::Array<Containers::String> files;
archive.Enumerate("*.png", files);
archive.Close();
}
实现说明
Enumerate()当前为 stub,仅清空输出数组,未实现模式匹配功能。
相关文档
- Resources 模块总览 - 返回模块总览
- IArchive - 归档接口定义
- ResourceFileSystem - 资源文件系统