1、QFile类提供了一个读写文件的接口(头文件:#include <QFile>)
QFile::QFile(const QString &name);//构造一个新的file对象来表示具有给定名称的文件。
bool QFile::open(QIODevice::OpenMode mode);//使用指定模式打开文件,成功则返回true。否则为假。
模式有:QIODevice::WriteOnly 只写方式打开
QIODevice::ReadOnly 只读
QIODevice::ReadWrite 读写
QIODevice::Append 所有数据写入到文件尾
QIODevice::Truncate 如果设备在打开之前会被截断,设备的所有早期内容都将丢失。
QByteArray QIODevice::readAll();//读取文件中的所有数据,并将其作为字节数组返回。
QByteArray QIODevice::read(qint64 maxSize);//从设备中读取最多maxSize个字节,并将读取的数据作为QByteArray返回。
qint64 QIODevice::readLine(char *data, qint64 maxSize);//读取maxSize字节到data中
qint64 QIODevice::write(const QByteArray &byteArray);//将byteArray的内容写入设备。返回实际写入的字节数,如果发生错误,返回-1。
bool QFile::exists();//判断文件是否存在
bool QFileDevice::atEnd();//如果已到达文件结尾,则返回true否则返回false。
void QFileDevice::close();//关闭文件
bool QFileDevice::seek(qint64 pos);//设置光标位置pos
2、QFileInfo类提供独立于系统的文件信息(头文件:#include <QFileInfo>)
bool QFileInfo::isFile();//如果是文件或文件链接则返回true,否则返回false
bool QFileInfo::isDir();//如果该对象指向一个目录或指向一个目录的符号链接,则返回true否则返回false。
bool QFileInfo::exists();//判断文件是否存在,存在true
QString QFileInfo::fileName();//返回文件名
QString QFileInfo::filePath();//返回文件的绝对路径
QString QFileInfo::path();//返回文件路径,不包含文件名
qint64 QFileInfo::size();//获取文件大小
bool QFileInfo::permission(QFile::Permissions permissions);//判断文件权限
参数的值有:
QFileDevice::ReadOwner QFileDevice::WriteOwner QFileDevice::ExeOwner
QFileDevice::ReadUser QFileDevice::WriteUser QFileDevice::ExeUser
QFileDevice::ReadGroup QFileDevice::WriteGroup QFileDevice::ExeGroup
QFileDevice::ReadOther QFileDevice::WriteOther QFileDevice::ExeOther
3、QDir类提供对目录结构及其内容的访问(头文件:#include <QDir>)
QString QDir::path(); // 获取目录的路径
QStringList QDir::entryList(); // 获取目录中条目的名称列表
void QDir::setPath(const QString &path); // 给 QDir 设置一个新路径
bool QDir::cd(const QString &dirName); // 进入到指定目录
bool QDir::cdUp(); // 进入到父目录 cdUp() 等效于 cd("..")
bool QFileInfo::exists(); // 测试指定目录是否存在
bsolutePath(); // 获取目录的绝对路径
QString QDir::dirName(); // 获取目录名,通常返回绝对路径中的最后一个元素;如果 QDir 代表当前目录,会返回“.”
bool QDir::mkdir(const QString &dirName); // 创建一个目录
bool QDir::rename(const QString &oldName, const QString &newName); // 重命名
bool QDir::rmdir(const QString &dirName); // 删除目录(删除文件用 remove())
isReadable(); // 测试目录的属性,是否可读
isRoot(); // 测试目录的属性,是否是根目录
void QDir::refresh(); // 重新读取目录的数据
uint QDir::count(); // 返回目录中的所有条目数
QFileInfoList QDir::entryInfoList(); // 获取一个 QFileInfo 对象的列表
bool QDir::isRelative(); // 判断 QDir 是否使用相对路径
bool QDir::isAbsolute(); // 判断 QDir 是否使用绝对路径
bool QDir::makeAbsolute(); // 将一个相对路径转换为绝对路径