读取目录下的所有文件形成QFileInfoList 这个链表
list.at(i).suffix() == “mp4” 判断文件的后缀名是否为MP4
删除文件之前要加上文件所在目录也就是路径(my_localset.savedir+“/”)
file.remove();将文件删除
QDir d(my_localset.savedir);
d.setFilter(QDir::NoDotAndDotDot|QDir::AllEntries);
//d.setSorting( sort | direction);//| QDir::Reversed );
QFileInfoList list = d.entryInfoList();
for(int i=0;i<list.size();i++)
{
if(list.at(i).suffix() == "mp4")
{
QFile file;
file.setFileName(my_localset.savedir+"/"+list.at(i).fileName());
file.remove();
}
}
文件复制:将source文件夹下的文件复制到destination文件夹下
//source源文件目录路径,destination目的文件目录,override文件存在是否覆盖
bool localset::copyDir(const QString &source,const QString &destination, bool override)
{
QDir directory(source);
if (!directory.exists())
{
qDebug()<<"不存在";
return false;
}
QString srcPath = QDir::toNativeSeparators(source);
if (!srcPath.endsWith(QDir::separator()))
srcPath += QDir::separator();
QString dstPath = QDir::toNativeSeparators(destination);
if (!dstPath.endsWith(QDir::separator()))
dstPath += QDir::separator();
bool error = false;
QStringList fileNames = directory.entryList(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden);
for (QStringList::size_type i=0; i != fileNames.size(); ++i)
{
QString fileName = fileNames.at(i);
QString srcFilePath = srcPath + fileName;
QString dstFilePath = dstPath + fileName;
QFileInfo fileInfo(srcFilePath);
if (fileInfo.isFile() || fileInfo.isSymLink())
{
if (override)
{
QFile::setPermissions(dstFilePath, QFile::WriteOwner);
}
QFile::copy(srcFilePath, dstFilePath);
}
else if (fileInfo.isDir())
{
QDir dstDir(dstFilePath);
dstDir.mkpath(dstFilePath);
if (!copyDir(srcFilePath, dstFilePath, override))
{
error = true;
}
}
}
return !error;
}
文件复制
//srcPath源文件文件路径,dstPath目的文件路径,coverFileIfExist文件存在是否覆盖
bool copyFile(QString srcPath, QString dstPath, bool coverFileIfExist)
{
srcPath.replace("\\", "/");
dstPath.replace("\\", "/");
if (srcPath == dstPath) {
return true;
}
if (!QFile::exists(srcPath)) { //源文件不存在
return false;
}
if (QFile::exists(dstPath)) {
if (coverFileIfExist) {
QFile::remove(dstPath);
}
}
if (!QFile::copy(srcPath, dstPath)){
return false;
}
return true;
}```
创建文件夹:
QString dir_str = "C://DB_test//db";
QDir dir;
if(!dir.exists(dir_str)) //检测文件夹是否存在
{
res = dir.mkpath(dir_str); //不存在则创建
}