故事背景:因為客戶端要清理舊版本以及日志檔案,所以需要洗掉一個月以前的所有檔案夾
技術調研:在程式中我想把檔案夾直接洗掉,但是呼叫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,具體的需求大家根據自己的業務邏輯來處理即可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/149305.html
標籤:Linux
