故事背景:因為客戶端要清理舊版本以及日誌文件,所以需要刪除一個月以前的所有文件夾 技術調研:在程式中我想把文件夾直接刪除,但是調用QDir中的rmdir()或者rmpath()時要求文件夾必須是非空的,否則刪不掉,查了一下,好多人是通過count()計算出文件夾下的文件數量,然後使用for迴圈逐個刪 ...
故事背景:因為客戶端要清理舊版本以及日誌文件,所以需要刪除一個月以前的所有文件夾
技術調研:在程式中我想把文件夾直接刪除,但是調用QDir中的rmdir()或者rmpath()時要求文件夾必須是非空的,否則刪不掉,查了一下,好多人是通過count()計算出文件夾下的文件數量,然後使用for迴圈逐個刪除,將文件夾清空後再刪除文件夾。其實Qt中有直接刪除文件夾的函數QDir::removeRecursively(),從Qt 5.0開始引用的,使用這個函數可以直接將文件夾刪除,方便快捷。
QString del_file = QString("./data/2019-03-23"); QDir dir; dir.setPath(del_file); dir.removeRecursively()
這隻是一個簡單的demo,具體的需求大家根據自己的業務邏輯來處理即可。