file_util.h 893 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef FILE_UTIL_H
  2. #define FILE_UTIL_H
  3. #include <stdint.h>
  4. #include <fstream>
  5. #include <iostream>
  6. #include <string>
  7. namespace qcloud_cos {
  8. class FileUtil {
  9. public:
  10. // 获取文件内容
  11. static std::string GetFileContent(const std::string& path);
  12. // 获取文件大小
  13. static uint64_t GetFileLen(const std::string& path);
  14. static bool IsDirectoryExists(const std::string& path);
  15. static bool IsDirectory(const std::string& path);
  16. static std::string GetDirectory(const std::string& path);
  17. // 获取文件CRC64
  18. static uint64_t GetFileCrc64(const std::string& file);
  19. #if defined(_WIN32)
  20. static uint64_t GetFileLen(const std::wstring& path);
  21. static uint64_t GetFileCrc64(const std::wstring& file);
  22. static std::wstring GetWideCharFilePath(const std::string file_path);
  23. #endif
  24. static std::string GetFileMd5(const std::string& file);
  25. };
  26. } // namespace qcloud_cos
  27. #endif