1.目录操作 QDir 类
QDir类提供对目录结构及其内容的访问。QDir用于操作路径名,访问有关路径和文件的信息以及底层文件系统。它还可以用于访问Qt的资源系统。
Qt使用 “ / ” 作为通用目录分隔符,与 “ / ” 在URL中作用路径分隔符的方式相同。如果你总是使用 “ / ” 作为目录分隔符,Qt将转换您的路径以符合底层操作系统。
QDir可以使用相对路径或绝对路径指向文件。绝对路径以目录分隔符开头(在windows下,可以选自驱动器规格开头)。相对文件名以目录名或 文件名开头,并指定相对当前的路径。
QDir是Qt Framework提供的一个目录操作类,用于对文件系统中的目录进行访问和操作。它可以列出目录中的文件和子目录,创建新的目录和文件,删除目录和文件,检查文件或目录是否存在,以及修改文件名等。
QDir的主要功能:
-
构造函数:通过不同参数的组合来创建QDir对象,可以指定路径、过滤器、排序规则等信息。
-
目录遍历:通过entryList()函数获取目录中的文件列表和子目录列表,也可以通过QDirIterator迭代器来实现遍历。
-
创建和删除目录:使用mkdir()函数创建新的目录,使用rmdir()函数删除已有的目录。
-
文件操作:使用QFile类进行文件读写操作,可以通过QFile::copy、QFile::rename、QFile::remove等函数实现文件操作。
-
文件过滤和排序:通过设置过滤器和排序规则来筛选和排序目录中的文件和子目录。
-
其他功能:判断文件或目录是否存在、获取目录的绝对路径、设置当前目录等。
QFileInfo
用于获取文件或目录的元信息,如文件名、路径、大小、创建时间、访问时间、修改时间等。可以通过该类提供的函数对文件或目录进行判断,例如判断文件是否存在、是否是隐藏文件、是否是符号链接等。
- 获取文件名和路径
可以使用fileName()函数获取文件名,absoluteFilePath()函数获取绝对路径,和absolutePath()函数获取文件所在目录的绝对路径。
QFileInfo fileInfo("/path/to/file.txt");
qDebug() << fileInfo.fileName(); // 输出 "file.txt"
qDebug() << fileInfo.absoluteFilePath(); // 输出 "/path/to/file.txt"
qDebug() << fileInfo.absolutePath(); // 输出 "/path/to"
- 断文件是否存在
可以使用exists()函数判断文件是否存在。
QFileInfo fileInfo("/path/to/nonexistent/file.txt");
if (fileInfo.exists())
{ qDebug() << "File exists";
} else {
qDebug() << "File does not exist";
}
- 判断文件类型
可以使用isFile()函