Files
XCEngine/docs/api/resources/filearchive/filearchive.md

2.2 KiB
Raw Blame History

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仅清空输出数组未实现模式匹配功能。

相关文档