QT提供的与文件和目录相关的类包括以下几个:
QCoreApplication:用于提取应用程序路径、程序名等文件信息
QFile:除了打开文件操作外,还可以复制文件、删除文件等功能
QFileInfo:用于提取文件信息,包括路径、文件名、后缀等
QDir:用于提取目录或文件信息,获取一个目录下的文件或目录列表,创建或删除目录和文件,文件重命名等操作
QTemporaryDir、QTemporaryFile:用于创建临时目录和临时文件
QFileSystemWatc:文件和目录监听类、监听目录下文件的添加、删除等变化,监听文件修改变化
一、QCoreApplication
QCoreApplication是为无GUI引用程序提供时间循环的类,是所有应用程序类的基类,其子类QGuiApplication为有GUI界面的应用程序提供流控制和主要的设定,QGuiApplication的子类QApplication为基于QWidget的应用程序提供支持,包括界面的初始化等
创建的 Qt Widget Application都是基于QApplication的,在main()函数里可以看到QApplication的应用
QCoreApplication的静态函数下面的静态函数可以获取应用程序的名称、启动路径等信息(省略了函数参数中的const关键字)
演示案例:通过QCoreApplication的子类QApplication调用这些函数,来获取我们想要的信息
二、QFile功能:前面的文件介绍过了QFile对文件的读写功能,QFile还提供了一些静态函数和成员函数用于文件操作
QFile的成员函数setFileName():如果QFile在初始化时没有指定文件,可以使用该函数指定文件,但是只能调用一次,后面就不可以再调用了
附加函数:errorString(); //获取错误信息
Permissions文件访问权限文件访问权限是整型,一般用16进制显示。是一组权限的组合
演示案例QFile按钮的clicked函数
void Widget::on_btn_QFile_clicked()
{
QString fileName=QFileDialog::getOpenFileName(this,QStringLiteral("请选择一个文件"),\
QDir::currentPath(),QStringLiteral(".h文件(*.h);;所有文件(*.*)"));
if(fileName.isEmpty())
return;
QFile aFile(fileName);
if(!aFile.open(QIODevice::ReadOnly|QIODevice::Text))
return;
ui->plainTextEdit->appendPlainText(QString