Qt关于文件和文件夹的操作
2015-08-05 12:08
483 查看
QDir类提供了一种与平台无关的遍历目录并获得有关文件信息的方法。总结了一下它的用法如下:
1:如何根据一个目录查到它的子目录及它所拥有的文件:
[cpp] view
plaincopy
int MainWindow::findAllFileAndDir(const QString &dirPath)
{
QDir dir(dirPath);
int result = 0;
foreach (QFileInfo fileInfo, dir.entryInfoList(QDir::Dirs | QDir::Files))
{
QString strName = fileInfo.fileName();
if ((strName == QString(".")) || (strName == QString("..")))
continue;
if (fileInfo.isDir())
{
QString str = dirPath + "/" + strName + "/";
result++;
result += findAllFileAndDir(str);
}
else
{
result++;
}
}\
return result;
}
通过上面的代码可以查找到一个目录所含有的文件夹及文件目录。
2:删除文件及文件夹的方法:
删除文件夹:
[cpp] view
plaincopy
QDir dir(dirPath);
dir.rmdir(strFileName);
删除文件:
[cpp] view
plaincopy
QFile::remove(strFileName);
如果当前文件是只读的话,则删除不成功。可以通过修改文件的属性来设置成可写的
[cpp] view
plaincopy
QFile file(strFile);
file.setPermissions(QFile::WriteOwner);
基本用法,以后遇到其它的方法再添加吧。
QDir类提供了一种与平台无关的遍历目录并获得有关文件信息的方法。总结了一下它的用法如下:
1:如何根据一个目录查到它的子目录及它所拥有的文件:
[cpp] view
plaincopy
int MainWindow::findAllFileAndDir(const QString &dirPath)
{
QDir dir(dirPath);
int result = 0;
foreach (QFileInfo fileInfo, dir.entryInfoList(QDir::Dirs | QDir::Files))
{
QString strName = fileInfo.fileName();
if ((strName == QString(".")) || (strName == QString("..")))
continue;
if (fileInfo.isDir())
{
QString str = dirPath + "/" + strName + "/";
result++;
result += findAllFileAndDir(str);
}
else
{
result++;
}
}\
return result;
}
通过上面的代码可以查找到一个目录所含有的文件夹及文件目录。
2:删除文件及文件夹的方法:
删除文件夹:
[cpp] view
plaincopy
QDir dir(dirPath);
dir.rmdir(strFileName);
删除文件:
[cpp] view
plaincopy
QFile::remove(strFileName);
如果当前文件是只读的话,则删除不成功。可以通过修改文件的属性来设置成可写的
[cpp] view
plaincopy
QFile file(strFile);
file.setPermissions(QFile::WriteOwner);
基本用法,以后遇到其它的方法再添加吧。
相关文章推荐
- Qt之QDesktopServices
- Qt遍历文件夹
- QT国际化
- QTP的退出函数
- QT安装
- QT实现一个简单的计算器
- 嵌入式交叉编译器,uboot,kernel,根文件系统,tslib,qt编译配置
- Qt 删除资源文件后提示找不到相应文件
- 针对QTP连接oracle数据库问题总结
- Qt拷贝文件、文件夹(QFile::copy)
- QT::QString 很全的使用
- Qt 5.3 下OpenCV 2.4.11 开发(9)直方图均衡化
- VS2013编译安装VTK-6.2.0_支持Qt5.4.2
- QTP连接oracle
- QT 串口通讯软件编写
- 【LCA】SPOJ QTREE2
- <h3>QT中使用QNetworkAccessManager类进行POST数据
- 【Qt OpenGL教程】13:位图字体
- Qt4过渡至Qt5
- Qt进程间通信——共享内存