Qt之QFileInfo
QFileInfo的几个构造函数:
QFileInfo()
QFileInfo( const QString & file )
QFileInfo( const QFile & file )
QFileInfo( const QDir & dir, const QString & file )
QFileInfo( const QFileInfo & fileinfo )
一般用法:
QFileInfo fileInfo(path);
//or
QFileInfo fileInfo;
fileInfo.setFile(path);
bool exists(); 判断文件是否存在,若存在返回true。
qint64 size(); 获取文件大小,返回bytes。
//路径和文件名相关:
QString path(); //返回文件路径,不包含文件名。
QString filePath(); // 返回文件路径,包含文件名。
QString fileName(); //返回文件名称。
// 例子如下
QFileInfo fileInfo("/home/dipper/xyz.tar.gz");
fileInfo.path(); // returns "/home/dipper"
fileInfo.fileName(); // returns "xyz.tar.gz"
fileInfo.baseName(); // returns "xyz"
fileInfo.completeBaseName(); // returns "xyz.tar"
fileInfo.suffix(); // returns "gz"
fileInfo.completeSuffix(); // returns "tar.gz"
//类型:
bool isFile(); 判断是否是文件。
bool isDir(); 判断是否是路径。
bool isSymLink(); 判断是否是符号链接。
//
QString symLinkTarget(): 返回符号链接的文件
//日期相关:
QDateTime created(); 创建时间
QDateTime lastModified(); 最近修改时间
QDateTime lastRead(); 最近读时间
//权限:
isReadable(), isWritable(), isExecutable()
//所有者:
ower(), owerId(), group(), groupId(), permissions(),
permission(QFile::Permissions permissions)
dir(): 返回父目录
//下面三个都返回"~/examples/191697"
QFileInfo fileInfo1("~/examples/191697/.");
QFileInfo fileInfo2("~/examples/191697/..");
QFileInfo fileInfo3("~/examples/191697/main.cpp");
//下面三个都返回"."
QFileInfo fileInfo4(".");
QFileInfo fileInfo5("..");
QFileInfo fileInfo6("main.cpp");
//相对路径和绝对路径
QString absolute = "/local/bin";
QString relative = "local/bin";
QFileInfo absFile(absolute);
QFileInfo relFile(relative);