QFileInfo Class 用法

Header: include <QFileInfo>
qmake: QT += core

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。

QFileInfo fileInfo(glb_in_put_file_path);
qDebug() << "glb_in_put_file_path" << glb_in_put_file_path;
qDebug() << "fileInfo.exists():" << fileInfo.exists(); //bool  exists(); 判断文件是否存在,若存在返回true。
qDebug() << "fileInfo.size():" << fileInfo.size();     //qint64    size(); 获取文件大小,返回bytes。
/*
glb_in_put_file_path "C:/Users/arcadyan/Desktop/crypt_file.tar.bz2"
fileInfo.exists(): true
fileInfo.size(): 998631   998631/1024 =975.225kb
*/

//路径和文件名相关:
QString path(); 返回文件路径,不包含文件名。
QString filePath(); 返回文件路径,包含文件名。
QString fileName(); 返回文件名称。

 QFileInfo fileInfo(glb_in_put_file_path);
 qDebug() << "glb_in_put_file_path" << glb_in_put_file_path;
 qDebug() << "fileInfo.path():" << fileInfo.path();
 qDebug() << "fileInfo.fileName():" << fileInfo.fileName();
 qDebug() << "fileInfo.baseName():" << fileInfo.baseName();
 qDebug() << "fileInfo.completeBaseName():" <<  fileInfo.completeBaseName();
 qDebug() << "fileInfo.suffix():" << fileInfo.suffix();
 qDebug() << "fileInfo.completeSuffix():" <<fileInfo.completeSuffix();

/*
    glb_in_put_file_path "C:/Users/arcadyan/Desktop/crypt_file.tar.bz2"
    fileInfo.path(): "C:/Users/arcadyan/Desktop"
    fileInfo.fileName(): "crypt_file.tar.bz2"
    fileInfo.baseName(): "crypt_file"
    fileInfo.completeBaseName(): "crypt_file.tar"
    fileInfo.suffix(): "bz2"
    fileInfo.completeSuffix(): "tar.bz2"
*/

//类型:
bool isFile(); 判断是否是文件。
bool isDir(); 判断是否是路径。
bool isSymLink(); 判断是否是符号链接。
//
QString symLinkTarget(): 返回符号链接的文件

QFileInfo fileInfo(glb_in_put_file_path);
qDebug() << "glb_in_put_file_path" << glb_in_put_file_path;
qDebug() << "fileInfo.isFile():" << fileInfo.isFile(); //判断是否是文件
qDebug() << "fileInfo.isDir():" << fileInfo.isDir(); //判断是否是路径
qDebug() << "fileInfo.isSymLink():" << fileInfo.isSymLink(); //判断是否是符号链接
/*
    glb_in_put_file_path "C:/Users/arcadyan/Desktop/crypt_file.tar.bz2"
    fileInfo.isFile(): true
    fileInfo.isDir(): false
    fileInfo.isSymLink(): false
*/

//日期相关:
QDateTime created(); 创建时间
QDateTime lastModified(); 最近修改时间
QDateTime lastRead(); 最近读时间

QFileInfo fileInfo(glb_in_put_file_path);
qDebug() << "glb_in_put_file_path" << glb_in_put_file_path;
qDebug() << "fileInfo.created():" << fileInfo.created(); //创建时间
qDebug() << "fileInfo.lastModified():" << fileInfo.lastModified(); //最近修改时间
qDebug() << "fileInfo.lastRead():" << fileInfo.lastRead(); //最近读时间
/*
glb_in_put_file_path "C:/Users/arcadyan/Desktop/crypt_file.tar.bz2"
fileInfo.created(): QDateTime(2017-07-03 16:58:20.774 中国标准时间 Qt::TimeSpec(LocalTime))
fileInfo.lastModified(): QDateTime(2017-07-03 16:58:27.573 中国标准时间 Qt::TimeSpec(LocalTime))
fileInfo.lastRead(): QDateTime(2017-07-03 16:58:26.584 中国标准时间 Qt::TimeSpec(LocalTime))

权限:
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);

猜你喜欢

转载自blog.csdn.net/linbounconstraint/article/details/74523676
今日推荐