之前在使用copy时发现不管怎么使用返回值都为false,已经检查未出现文件已存在的问题,经过不断尝试,发现copy在复制时不会创建不存在的文件夹,导致复制时出错,正确使用方法:
QString filePath;
QString newFilePath; //皆为文件的绝对路径 例如:D:/1/2/3.jpg
QStringList pathList=newFilePath.split("/");//用于检查新路径是否存在
QString dir;
for(int i;i<pathList.size();i++)
{
if(i!=pathList.size()-1)
{
dir+=pathList[i];
dir+="/";
}
}
QDir path(dir);
if(path.exists())
{
QFile file(filePath);
file.copy(filePath,newFilePath);
}
else
{
path.mkdir(dir);//若路径不存在则创建不存在的文件夹
QFile file(filePath);
file.copy(filePath,newFilePath);
}
周末在家闲来无事,分享下Qt的一些使用误区,希望后来学习者能避免误入