2.1 KiB
2.1 KiB
IArchive 接口
头文件
#include "XCEngine/Resources/ResourceFileSystem.h"
命名空间
XCEngine::Resources
类型
抽象接口类
描述
IArchive 是档案压缩包资源的抽象接口,定义了访问档案内资源的基本操作。具体的档案实现(如 ZIP、Pak 等)需要继承此接口。
方法详情
Open
virtual bool Open(const Containers::String& path) = 0;
打开指定路径的档案文件。
参数:
path- 档案文件的路径
返回值:
bool- 成功返回true,失败返回false
Close
virtual void Close() = 0;
关闭当前打开的档案,释放相关资源。
Read
virtual bool Read(const Containers::String& fileName, void* buffer, size_t size, size_t offset) const = 0;
从档案中读取指定的文件数据。
参数:
fileName- 要读取的文件名buffer- 接收数据的缓冲区指针size- 要读取的字节数offset- 文件内的读取偏移量
返回值:
bool- 成功返回true,失败返回false
GetSize
virtual size_t GetSize(const Containers::String& fileName) const = 0;
获取档案内指定文件的大小。
参数:
fileName- 文件名
返回值:
size_t- 文件大小(字节),若文件不存在则返回 0
Exists
virtual bool Exists(const Containers::String& fileName) const = 0;
检查档案内是否存在指定文件。
参数:
fileName- 要检查的文件名
返回值:
bool- 存在返回true,不存在返回false
Enumerate
virtual void Enumerate(const Containers::String& pattern, Containers::Array<Containers::String>& outFiles) const = 0;
枚举档案内匹配指定模式的文件。
参数:
pattern- 文件名匹配模式(支持通配符)outFiles- 输出容器,接收匹配的文件名列表
IsValid
virtual bool IsValid() const = 0;
检查档案是否已正确打开且有效。
返回值:
bool- 有效返回true,无效返回false