/* * FileUtil.hh * * Created on: Mar 5, 2011 * Author: lamikr */ #ifndef FILEUTIL_HH_ #define FILEUTIL_HH_ #include #include #include namespace plp { class FileUtil { public: FileUtil(); virtual ~FileUtil(); static std::string concat_paths(std::string path_start, std::string path_end); static std::string concat_paths(const char *path_start, const char *path_end); static bool is_subdirectory(const char *path, dirent *direntry); static bool is_datafile(const char *path, dirent *direntry); static std::vector get_subdirectories(const std::string& path); static std::vector get_data_files(const std::string& path); static std::string parse_directory_path(const char *file_name_with_path); static bool mkdirs(const char *path); /* * Creates file to given path by first checking whether * the directories exist and have enough permissions. */ static bool mkfile(const char *file_name_with_path, bool writable); /* * Check whether file exist with specified access rights */ static bool file_exist(const char *file_name_with_path, bool writable); static bool dir_exist(const char *dir_name_with_path, bool writable); static std::ofstream *open_for_writing(const char *path); }; } #endif /* FILEUTIL_HH_ */