
Originally Posted by
deweyjew
hi all:
how to recursive a directory in qt?
i use QFileInfoListIterator, but it failed.
can anyone help me? thanks!
Here You can recursive remove file & dir....
{
///////SqlLog("order to delete dir:"+d+" ");
if (dir.exists())
{
const QFileInfoList list = dir.entryInfoList();
for (int l = 0; l < list.size(); l++)
{
fi = list.at(l);
if (fi.isDir() && fi.fileName() != "." && fi.fileName() != "..")
DownDir_RM(fi.absoluteFilePath());
else if (fi.isFile())
{
QFile f
( fi.
absoluteFilePath() );
bool ret = f.remove();
if (!ret)
/////////SqlLog("Can't remove: " + fi.absoluteFilePath() + " (write-protect?)");
}
}
//////////SqlLog("Remove: " + d + " ");
dir.rmdir(d);
}
}
void DownDir_RM(const QString d)
{
QDir dir(d);
///////SqlLog("order to delete dir:"+d+" ");
if (dir.exists())
{
const QFileInfoList list = dir.entryInfoList();
QFileInfo fi;
for (int l = 0; l < list.size(); l++)
{
fi = list.at(l);
if (fi.isDir() && fi.fileName() != "." && fi.fileName() != "..")
DownDir_RM(fi.absoluteFilePath());
else if (fi.isFile())
{
QFile f( fi.absoluteFilePath() );
bool ret = f.remove();
if (!ret)
/////////SqlLog("Can't remove: " + fi.absoluteFilePath() + " (write-protect?)");
}
}
//////////SqlLog("Remove: " + d + " ");
dir.rmdir(d);
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks