QFileInfo Class 用法

来源:互联网 发布:python 汉字编码 编辑:程序博客网 时间:2024/06/07 08:49

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(): truefileInfo.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);
原创粉丝点击