如何将文件从源目录复制到qt中的目标目录

时间:2016-04-21 07:35:28

标签: qt

我必须将文件从源目录复制到目标目录。能否提供进行此类操作的代码

1 个答案:

答案 0 :(得分:0)

我想要类似的东西,然后谷歌搜索(徒劳),所以这就是我所要做的:

 static bool cpDir(const QString &srcPath, const QString &dstPath)
    {
        rmDir(dstPath);
        QDir parentDstDir(QFileInfo(dstPath).path());
        if (!parentDstDir.mkdir(QFileInfo(dstPath).fileName()))
            return false;

        QDir srcDir(srcPath);
        foreach(const QFileInfo &info, srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot)) {
            QString srcItemPath = srcPath + "/" + info.fileName();
            QString dstItemPath = dstPath + "/" + info.fileName();
            if (info.isDir()) {
                if (!cpDir(srcItemPath, dstItemPath)) {
                    return false;
                }
            } else if (info.isFile()) {
                if (!QFile::copy(srcItemPath, dstItemPath)) {
                    return false;
                }
            } else {
                qDebug() << "Unhandled item" << info.filePath() << "in cpDir";
            }
        }
        return true;
    }