FileUtils Class
(Utils::FileUtils)The FileUtils class contains file and directory related convenience functions. More...
| Header: | #include <FileUtils> |
Static Public Members
| FileName | canonicalPath(const FileName &path) |
| bool | copyRecursively(const FileName &srcFilePath, const FileName &tgtFilePath, QString *error = 0, const std::function<bool( QFileInfo, QFileInfo, QString * ) > ©Helper = std::function<bool( QFileInfo, QFileInfo, QString * ) > ()) |
| QString | fileSystemFriendlyName(const QString &name) |
| int | indexOfQmakeUnfriendly(const QString &name, int startpos = 0) |
| bool | isAbsolutePath(const QString &fileName) |
| bool | isFileNewerThan(const FileName &filePath, const QDateTime &timeStamp) |
| bool | isRelativePath(const QString &fileName) |
| bool | makeWritable(const FileName &path) |
| QString | normalizePathName(const QString &name) |
| QString | qmakeFriendlyName(const QString &name) |
| bool | removeRecursively(const FileName &filePath, QString *error = 0) |
| QString | resolvePath(const QString &baseDir, const QString &fileName) |
| FileName | resolveSymlinks(const FileName &path) |
| QString | shortNativePath(const FileName &path) |
Detailed Description
The FileUtils class contains file and directory related convenience functions.
Member Function Documentation
[static] FileName FileUtils::canonicalPath(const FileName &path)
Recursively resolves possibly present symlinks in filePath. Unlike QFileInfo::canonicalFilePath(), this function will not return an empty string if path doesn't exist.
Returns the canonical path.
[static] bool FileUtils::copyRecursively(const FileName &srcFilePath, const FileName &tgtFilePath, QString *error = 0, const std::function<bool( QFileInfo, QFileInfo, QString * ) > ©Helper = std::function<bool( QFileInfo, QFileInfo, QString * ) > ())
Copies the directory specified by srcFilePath recursively to tgtFilePath. tgtFilePath will contain the target directory, which will be created. Example usage:
QString error; book ok = Utils::FileUtils::copyRecursively("/foo/bar", "/foo/baz", &error); if (!ok) qDebug() << error;
This will copy the contents of /foo/bar into to the baz directory under /foo, which will be created in the process.
Note: The error parameter is optional.
Returns whether the operation succeeded.
[static] QString FileUtils::fileSystemFriendlyName(const QString &name)
[static] int FileUtils::indexOfQmakeUnfriendly(const QString &name, int startpos = 0)
[static] bool FileUtils::isAbsolutePath(const QString &fileName)
[static] bool FileUtils::isFileNewerThan(const FileName &filePath, const QDateTime &timeStamp)
If filePath is a directory, the function will recursively check all files and return true if one of them is newer than timeStamp. If filePath is a single file, true will be returned if the file is newer than timeStamp.
Returns whether at least one file in filePath has a newer date than timeStamp.
[static] bool FileUtils::isRelativePath(const QString &fileName)
[static] bool FileUtils::makeWritable(const FileName &path)
[static] QString FileUtils::normalizePathName(const QString &name)
[static] QString FileUtils::qmakeFriendlyName(const QString &name)
[static] bool FileUtils::removeRecursively(const FileName &filePath, QString *error = 0)
Removes the directory filePath and its subdirectories recursively.
Note: The error parameter is optional.
Returns whether the operation succeeded.
[static] QString FileUtils::resolvePath(const QString &baseDir, const QString &fileName)
[static] FileName FileUtils::resolveSymlinks(const FileName &path)
Recursively resolves symlinks if filePath is a symlink. To resolve symlinks anywhere in the path, see canonicalPath. Unlike QFileInfo::canonicalFilePath(), this function will still return the expected deepest target file even if the symlink is dangling.
Note: Maximum recursion depth == 16.
Returns the symlink target file path.
[static] QString FileUtils::shortNativePath(const FileName &path)
Like QDir::toNativeSeparators(), but use prefix '~' instead of $HOME on unix systems when an absolute path is given.
Returns the possibly shortened path with native separators.