获取指定文件目录下的所有文件
TArray<FString> LoadFilesPathFromDir(const FString& DirPath)
{IFileManager& FileManager = IFileManager::Get();TArray<FString> FilesPath;if (FileManager.DirectoryExists(*DirPath)){FileManager.FindFiles(FilesPath,*DirPath);}FilesPath.StableSort([](const FString& A, const FString& B) {return A.Len()<B.Len();});return FilesPath;
}
过滤指定文件目录下的所有文件夹
bool Visit(const TCHAR* FilenameOrDirectory, bool bIsDirectory) override{if (bIsDirectory){UE_LOG(LogTemp, Warning, TEXT("FilePaths: GroundArea Folder Directory found: %s"), FilenameOrDirectory);FString Dir=FPaths::GetPathLeaf(FilenameOrDirectory);FString Left, Right;Dir.Split("_", &Left, &Right);if (Left.Len()>1) {if(Left[0]==22320&&Left[1]==34920)DirNames.Add(Dir);}}return true;}public:TArray<FString> DirNames;};IFileManager& MyFileManager = IFileManager::Get();if (MyFileManager.DirectoryExists(*ProjectPath)) {DirectoryVisitor Visitor;TArray<FString> DirNames;if (MyFileManager.IterateDirectory(*ProjectPath, Visitor)){Visitor.DirNames.Num();}}