diff --git a/Include/7zpp/FileSys.h b/Include/7zpp/FileSys.h new file mode 100644 index 0000000..5ad42ad --- /dev/null +++ b/Include/7zpp/FileSys.h @@ -0,0 +1,33 @@ +#pragma once + + +#include +#include "FileInfo.h" + + +namespace SevenZip +{ +namespace intl +{ + class FileSys + { + public: + + static TString GetPath( const TString& filePath ); + static TString GetFileName( const TString& filePathOrName ); + static TString AppendPath( const TString& left, const TString& right ); + static TString ExtractRelativePath( const TString& basePath, const TString& fullPath ); + + static bool DirectoryExists( const TString& path ); + static bool IsDirectoryEmptyRecursive( const TString& path ); + + static bool CreateDirectoryTree( const TString& path ); + + static std::vector< FilePathInfo > GetFile(const TString& filePathOrName, bool absolutePath = false); + static std::vector< FilePathInfo > GetFilesInDirectory( const TString& directory, const TString& searchPattern, const TString& pathPrefix, bool recursive ); + + static CComPtr< IStream > OpenFileToRead( const TString& filePath ); + static CComPtr< IStream > OpenFileToWrite( const TString& filePath ); + }; +} +}