Files
XCEngine/docs/api/resources/resource-file-system/iarchive.md

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