1 Star 0 Fork 0

2144/FileSystem

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Directory.cpp 1.84 KB
一键复制 编辑 原始数据 按行查看 历史
2144 提交于 2024-04-01 11:23 . ss
#include "Directory.h"
FileSystem::Directory::Directory(const std::string &path)
: FileSystem::Path(path)
{
}
std::vector<FileSystem::File> FileSystem::Directory::GetChildrenFiles() const
{
std::vector<File> res;
for (const auto &_fs_child : fs::directory_iterator(m_Path))
{
if (!fs::is_directory(_fs_child))
{
const std::string name = _fs_child.path().filename().string();
res.push_back(File(name));
}
}
return res;
}
std::vector<FileSystem::File> FileSystem::Directory::GetChildrenFilesSuffix(const std::string &suffix) const
{
std::vector<File> res;
for (const auto &_fs_child : fs::directory_iterator(m_Path))
{
if (!fs::is_directory(_fs_child))
{
const std::string name = _fs_child.path().string();
FileSystem::File file(name);
if (file.GetExtension() == suffix)
{
res.push_back(file);
}
}
}
return res;
}
std::vector<FileSystem::File> FileSystem::Directory::GetChildrenFilesSuffixIter(const std::string &suffix) const
{
std::vector<File> res;
for (const auto &_fs_child : fs::directory_iterator(m_Path))
{
if (!fs::is_directory(_fs_child))
{
const std::string name = _fs_child.path().string();
FileSystem::File file(name);
if (file.GetExtension() == suffix)
{
res.push_back(file);
}
}
else
{
FileSystem::Directory childDir(_fs_child.path().string());
LOGD("child path %s", childDir.GetRelativePath().c_str());
std::vector<FileSystem::File> childFiles = childDir.GetChildrenFilesSuffixIter(suffix);
res.insert(res.end(), childFiles.begin(), childFiles.end());
}
}
return res;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/iamherer/file-system.git
git@gitee.com:iamherer/file-system.git
iamherer
file-system
FileSystem
master

搜索帮助