目录拷贝
bool QtCopyDir(const QDir &fromDir, const QDir &toDir, bool bCoverIfFileExists)
{
QDir formDir_ = fromDir;
QDir toDir_ = toDir;
if(!toDir_.exists())
{
if(!toDir_.mkdir(toDir.absolutePath()))
return false;
}
QFileInfoList fileInfoList = formDir_.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")
continue;
if(fileInfo.isDir())
{
if(!QtCopyDir(fileInfo.filePath()
, toDir_.filePath(fileInfo.fileName())))
{
return false;
}
}
else
{
if(bCoverIfFileExists && toDir_.exists(fileInfo.fileName()))
{
toDir_.remove(fileInfo.fileName());
}
if(!QFile::copy(fileInfo.filePath(), toDir_.filePath(fileInfo.fileName())))
{
return false;
}
}
}
return true;
}