赞
踩
Qt中对于文件夹的操作类主要是QDir类,这个类中提供了文件夹的创建、删除、判断文件夹是否存在、文件夹中的文件数目等功能。
QDir用于操作路径名、访问有关路径和文件的信息以及操作底层文件系统。Qt中使用“/”作为通用目录分隔符。在QDir中可以使用相对路径或相对路径进行访问文件地址。
例如:
QDir("/home/user/Documents") //linux 下的绝对路径
QDir("C:/Users") //Window 下的绝对路径
你可以使用 isRelative() 或 isAbsolute() 函数来检查QDir使用的是相对文件路径还是绝对文件路径。调用makeAbsolute()将相对QDir转换为绝对QDir。
在这个类中可以使用 path() 获取路径,也可以额使用 setPath() 函数设置路径。
目录可以用 mkdir() 创建,用 rename() 重命名,用 rmdir() 删除。可以使用 exists() 测试具有给定名称的目录的存在,并且可以使用 isReadable()、isAbsolute()、isRelative() 和 isRoot()来测试目录的属性。
详细参考Qt中的QDir类。
QDir使用注意的问题:
1、在使用mkpath()创建和rmpath()删除路径的时候,不能在构造的时候传入路径,传入路径之后将无法删除成功和创建文件夹乱的问题。
2、在使用mkdir()和remove()删除文件夹的时候需要使用SetPath()函数设置路径,不然会删除其他文件夹。
3、使用count()函数获取文夹中的条目的时候返回会包括隐藏文件夹(例如:. 和 …)。
//实例 QDir
QDir *folder = new QDir;
//判断创建文件夹是否存在
bool exist = folder->exists(edit->text());
if(!exist)
{
//创建文件夹
bool ok = folder->mkdir(edit->text());
}
//判断创建文件夹是否存在
bool exist = folder->exists(edit->text());
if(exist)
{
//删除文件夹
bool ok = folder->remove(edit->text());
}
//判断创建文件夹是否存在
bool exist = folder->exists(edit->text());
if(!exist)
{
//获取文件夹中的元素数目
uint count = folder->count();
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。