Qt关于文件和文件夹的操作

  QDir类提供了一种与平台无关的遍历目录并获得有关文件信息的方法。总结了一下它的用法如下:

  1:如何根据一个目录查到它的子目录及它所拥有的文件:

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:删除文件及文件夹的方法:

删除文件夹:

    QDir dir(dirPath);
    dir.rmdir(strFileName);

删除文件:

    QFile::remove(strFileName);
如果当前文件是只读的话,则删除不成功。可以通过修改文件的属性来设置成可写的

 QFile file(strFile);
 file.setPermissions(QFile::WriteOwner);
基本用法,以后遇到其它的方法再添加吧。


你可能感兴趣的:(qt)