Qt中文件夹的操作

Qt中文件夹的操作

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();
 }

猜你喜欢

转载自blog.csdn.net/qq_43812868/article/details/133358125