This commit is contained in:
睿 安
2026-01-25 23:46:14 +08:00
parent 2a2a3d68d8
commit 37e7d278bd
727 changed files with 193377 additions and 7 deletions

View File

@@ -0,0 +1,50 @@
#pragma once
#include "EzUI/EzUI.h"
#include "EzUI/UIString.h"
namespace ezui {
struct FileInfo final {
UIString Name;
DWORD Attr;
bool IsDirectory() {
return (Attr & FILE_ATTRIBUTE_DIRECTORY);
}
};
namespace File {
//判断文件是否存在
UI_EXPORT bool Exists(const UIString& filenNme);
//拷贝文件
UI_EXPORT bool Copy(const UIString& src, const UIString& desc);
//删除文件
UI_EXPORT bool Delete(const UIString& file);
//文件移动或者改名
UI_EXPORT bool Move(const UIString& oldName, const UIString& newName);
//创建一个文件(如果文件已存在则清空其内容)
UI_EXPORT bool Create(const UIString& fileName);
//将指定数据以二进制方式写入文件(如果文件存在内容则追加)
UI_EXPORT bool Write(const char* fileData, size_t fileSize, const UIString& outFileName);
//读取文件到内存中
UI_EXPORT size_t Read(const UIString& fileName, std::string* data);
}
namespace Path {
//格式化路径
UI_EXPORT void Format(std::string* str);
//获取文件名(不包括目录名 不包括扩展名)
UI_EXPORT UIString GetFileNameWithoutExtension(const UIString& _filename);
//获取文件所在目录
UI_EXPORT UIString GetDirectoryName(const UIString& _filename);
//获取文件扩展名
UI_EXPORT UIString GetExtension(const UIString& _filename);
//获取文件名(文件名+扩展名)
UI_EXPORT UIString GetFileName(const UIString& filename);
}
namespace Directory {
//检测目录是否存在
UI_EXPORT bool Exists(const UIString& directoryNme);
//创建目录 不存在的多级目录将会自动创建
UI_EXPORT bool Create(const UIString& path);
//将目录和目录下的文件复制到指定的位置
UI_EXPORT void Copy(const UIString& srcPath, const UIString& desPath);
//使用通配符搜索文件和目录
UI_EXPORT void Find(const UIString& directory, std::vector<FileInfo>* result, const UIString& pattern = "*.*", bool loopDir = true);
}
};