21#define BOOST_NO_CXX11_SCOPED_ENUMS
22#include <boost/filesystem.hpp>
23#undef BOOST_NO_CXX11_SCOPED_ENUMS
26namespace localization {
30 boost::filesystem::path p(path);
31 return boost::filesystem::exists(p);
35 boost::filesystem::path p(path);
36 return boost::filesystem::is_directory(p);
40 boost::filesystem::path p(path);
41 return boost::filesystem::create_directory(p);
45 boost::filesystem::path p(path);
46 if (boost::filesystem::exists(p) && boost::filesystem::is_regular_file(p)) {
47 *size =
static_cast<unsigned int>(boost::filesystem::file_size(p));
56 boost::filesystem::path path_src(src);
57 boost::filesystem::path path_dst(dst);
58 boost::system::error_code error;
60 boost::filesystem::copy_file(path_src, path_dst,
61 boost::filesystem::copy_option::fail_if_exists,
64 boost::filesystem::copy_file(
65 path_src, path_dst, boost::filesystem::copy_option::overwrite_if_exists,
77 const std::string& ext,
78 std::vector<std::string>* ret) {
80 namespace fs = boost::filesystem;
81 if (!fs::exists(folder) || !fs::is_directory(folder)) {
85 fs::recursive_directory_iterator it(folder);
86 fs::recursive_directory_iterator endit;
89 if (fs::is_regular_file(*it) && it->path().extension() == ext) {
90 ret->push_back(it->path().string());
94 std::sort(ret->begin(), ret->end());
98 std::vector<std::string>* ret) {
100 namespace fs = boost::filesystem;
101 if (!fs::exists(folder) || !fs::is_directory(folder)) {
105 fs::directory_iterator it(folder);
106 fs::directory_iterator endit;
108 while (it != endit) {
109 if (fs::is_regular_file(*it) && it->path().extension() == ext) {
110 ret->push_back(it->path().string());
114 std::sort(ret->begin(), ret->end());
118 std::vector<std::string>* ret) {
120 namespace fs = boost::filesystem;
121 if (!fs::exists(folder) || !fs::is_directory(folder)) {
125 fs::directory_iterator it(folder);
126 fs::directory_iterator endit;
128 while (it != endit) {
129 if (fs::is_directory(*it)) {
130 ret->push_back(it->path().string());
134 std::sort(ret->begin(), ret->end());
static bool GetFileSize(const std::string &path, unsigned int *size)
Get the size of a file.
static bool CreateDirectory(const std::string &path)
Try to create a directory.
static bool CopyFile(const std::string &src, const std::string &dst, bool is_overwrite=true)
Copy the file.
static void GetFilesInFolder(const std::string &folder, const std::string &ext, std::vector< std::string > *ret)
get list of files end with ext in folder.
static void GetFoldersInFolder(const std::string &folder, std::vector< std::string > *ret)
Get list of folders in folder.
static bool IsExists(const std::string &path)
Determine if the file or directory exists.
static bool IsDirectory(const std::string &path)
Determine if the path is a directory.
static void GetFilesInFolderRecursive(const std::string &folder, const std::string &ext, std::vector< std::string > *ret)
get list of files end with ext in folder.