Files
XCEngine/docs/api/resources/resource-package/enumerate.md

57 lines
1.3 KiB
Markdown

# Enumerate
枚举资源包中匹配指定模式的文件。
## 方法签名
```cpp
void Enumerate(const Containers::String& pattern, Containers::Array<Containers::String>& outFiles) const;
```
## 详细描述
枚举包内所有与给定模式匹配的文件路径,并将结果输出到 `outFiles` 数组中。当前实现会将 `outFiles` 清空后填入所有文件路径。
**注意**:当前实现不支持真正的通配符匹配,会返回包内所有文件的完整路径列表。
## 参数
| 参数名 | 类型 | 描述 |
|--------|------|------|
| `pattern` | `const Containers::String&` | 文件匹配模式(当前实现中未使用) |
| `outFiles` | `Containers::Array<Containers::String>&` | 输出参数,用于存放匹配的文件路径列表 |
## 返回值
## 示例
```cpp
ResourcePackage package;
package.Open("assets/resources.xcp");
Array<String> files;
// 枚举所有文件
package.Enumerate("*", files);
printf("Total files: %zu\n", files.Size());
for (const auto& file : files) {
printf(" - %s\n", file.CStr());
}
// 枚举特定类型的文件
package.Enumerate("*.png", files);
for (const auto& file : files) {
if (file.Find(".png") != String::InvalidPos) {
printf("Image: %s\n", file.CStr());
}
}
```
## 相关方法
- [Exists](exists.md) - 检查文件存在
- [Read](read.md) - 读取文件内容