#ifndef FILE_SYSTEM_H #define FILE_SYSTEM_H #include #include #include "utility/file/FileInfo.h" #include "utility/TimePoint.h" class FileSystem { public: static std::vector getFileNamesFromDirectory( const std::string& path, const std::vector& extensions); static FileInfo getFileInfoForPath(FilePath filePath); static std::vector getFileInfosFromPaths( const std::vector& paths, const std::vector& fileExtensions, bool followSymLinks = true); static TimePoint getLastWriteTime(const FilePath& filePath); static std::string getTimeStringNow(); static bool exists(const FilePath& path); static bool remove(const FilePath& path); static bool rename(const FilePath& from, const FilePath& to); static bool copyFile(const FilePath& from, const FilePath& to); static bool copy_directory(const FilePath& from, const FilePath& to); static void createDirectory(const FilePath& path); static std::vector getSubDirectories(const FilePath& path); static std::string fileName(const std::string& path); static std::string absoluteFilePath(const std::string& path); static std::string extension(const std::string& path); static std::string filePathWithoutExtension(const std::string& path); static bool equivalent(const std::string& pathA, const std::string& pathB); }; #endif // FILE_SYSTEM_H