qt 移动文件夹到另一目录下
#include <QDir>
//删除文件夹
bool delDir(const QString &path)
{
if (path.isEmpty()){
return false;
}
QDir dir(path);
if(!dir.exists()){
return true;
}
dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); //设置过滤
QFileInfoList fileList = dir.entryInfoList(); // 获取所有的文件信息
foreach (QFileInfo file, fileList){ //遍历文件信息
if (file.isFile()){ // 是文件,删除
file.dir().remove(file.fileName());
}else{ // 递归删除
DelDir(file.absoluteFilePath());
}
}
return dir.rmdir(dir.absolutePath()); // 删除文件夹
}
bool toMove(const QString& srcPath, const QString & desPath){
QStringList fileNames = getFiles(srcPath);
foreach (const QString& filename, fileNames) {
QString temp = filename;
QString suffix = temp.remove(0,srcPath.length());
QString desFileName = desPath + suffix;
QFileInfo fileInfo(desFileName);
if(fileInfo.exists())
{
QFile::remove(desFileName);
}
else
{
if(!fileInfo.dir().exists())
{
fileInfo.dir().mkpath(fileInfo.absolutePath());
}
}
qDebug()<<QFile::rename(filename, desFileName);
}
return delDir(srcPath);
}
版权声明:本文为hkSDK原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。