当前位置:嗨网首页>书籍在线阅读

15-QFile类

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

7.3.4 QFile类

前两节使用QFile类进行文件的操作,应用了QFile::open()函数。除了打开文件提供读写操作外,QFile还有一些静态函数和成员函数用于文件操作。表7-5是QFile的一些静态函数(省略了函数参数中的const关键字)。

表7-5 QFile的一些静态函数

| 函数原型 | 功能 | | :----- | :----- | :----- | :----- | | bool copy(QString &fileName, QString &newName) | 复制文件 | | bool rename(QString &oldName, QString &newName) | 重命名文件 | | bool remove(QString &fileName) | 删除一个文件 | | bool exists(QString &fileName) | 判断文件是否存在 | | bool setPermissions(QString &fileName, Permissions permissions) | 设置文件的权限,权限类型是枚举类型QFileDevice::Permission | | Permissions permissions(QString &fileName) | 返回文件的权限 |

静态函数是无需创建QFile类对象实例就可以调用的函数,例如使用静态函数exists()判断一个文件是否存在的代码如下:

void Dialog::on_pushButton_51_clicked()
{// QFile::exists()判断文件是否存在
   showBtnInfo(sender());
   QString sous=ui->editFile->text(); //源文件
   bool the=QFile::exists(sous);
   if(the)
      ui->plainTextEdit->appendPlainText(+"true \n");
   else
      ui->plainTextEdit->appendPlainText(+"false \n");
}

QFile还提供了对应的成员函数,见表7-6(省略了函数参数中的const关键字)。

表7-6 QFile的一些成员函数

| 函数原型 | 功能 | | :----- | :----- | :----- | :----- | | void setFileName(QString &name) | 设置文件名,文件已打开后不能再调用此函数 | | bool copy(QString &newName) | 当前文件复制为newName表示的文件 | | bool rename(QString &newName) | 将当前文件重命名为newName | | bool remove() | 删除当前文件 | | bool exists() | 判断当前文件是否存在 | | bool setPermissions(Permissions permissions) | 设置文件权限 | | Permissions permissions() | 返回文件的权限 | | qint64 size() | 返回文件的大小,字节数 |

创建QFile对象时可以在构造函数里指定文件名,也可以用setFileName()指定文件,但是文件打开后不能再调用setFileName()函数。指定的文件作为QFile对象的当前文件,然后成员函数copy()、rename()等都是基于当前文件的操作。