Đến phiên bản 5.0, thì Qt bổ sung phương thức QDir::removeRecursively dùng để xoá thư mục và toàn bộ nội dung bên trong của nó. Như vậy nếu chúng ta đang dùng Qt phiên bản 4.8 trở về trước thì chúng ta tự hiện thực phương thức removeRecursively. Sau đây là cách hiện thực sử dụng đệ quy của Folami tôi:
bool removeRecursively(const QString &dirName) { bool result = true; QDir dir(dirName); if (dir.exists(dirName)) { Q_FOREACH(QFileInfo info,
dir.entryInfoList(QDir::NoDotAndDotDot |
QDir::System |
QDir::Hidden |
QDir::AllDirs |
QDir::Files, QDir::DirsFirst)) { if (info.isDir()) {
//Neu la thu muc thi goi de quy de xoa thu muc nay
result = removeRecursively(info.absoluteFilePath()); } else { result = QFile::remove(info.absoluteFilePath()); } if (!result) { return result; } }
//Da xoa het noi dung, thu muc la thu muc rong
//Xoa no
result = dir.rmdir(dirName); } return result; }
Không có nhận xét nào:
Đăng nhận xét