Qt-QDir目錄操作與檔案系統類
阿新 • • 發佈:2022-03-15
1. QDir類具有存取目錄結構和內容的能力,使用它可以操作目錄、存取目錄或檔案資訊、操作底層檔案系統,還可以存取Qt的資原始檔
2. Qt使用"/"作為通用的目錄分隔符和URL路徑分隔符。如果在程式中使用"/"作為目錄分隔符,Qt會將其自動轉換為符合底層作業系統的分隔符(如Linux使用"/",Windows使用"\")
3. QDir類相關函式
- isReadable(), isRoot(), isRelative(), isAbsolute():目錄的相關屬性,分別是可讀,根目錄,相對路徑,絕對路徑
- makeAbsolute():將相對路徑轉換為絕對路徑
- path():返回目錄的路徑
- absolutePath():返回目錄的絕對路徑
- setPath():設定新路徑
- dirName():返回目錄名,通常返回絕對路徑中的最後一個元素,如果QDir指向當前目錄,則返回"."
- cd(), cdUp():改變目錄路徑
- mkdir():建立目錄
- rename():重新命名目錄名
- exists():判斷目錄是否存在
- count():統計目錄下的所有條目,包括檔案、目錄和符號連線
- entryList():返回目錄下所有條目組成的字串連結串列
- entryInfoList(const QStringList& nameFilters, Filters filters = NoFilter, SortFlags = NoSort):按照某種過濾方式獲得目錄下的檔案列表
① 引數1指定了檔名的過濾方式,如"*","tar.gz"
② 引數2指定了檔案屬性的過濾方式,如目錄、檔案、讀寫屬性等
過濾方式 | 作用描述 |
QDir::Dirs | 按照過濾方式列出所有目錄 |
QDir::AllDirs | 列出所有目錄,不考慮過濾方式 |
QDir::Files | 只列出檔案 |
QDir::Drives | 列出磁碟驅動器(UNIX系統無效) |
QDir::NoSymLinks | 不列出符號連線(對不支援符號連線的作業系統無效) |
QDir::NoDotAndDotDot | 不列出"."和".." |
QDir::AllEntries | 列出目錄、檔案和磁碟驅動器,相當於Dirs|Files|Frives |
QDir::Readable | 列出所有具有"讀"屬性的檔案和目錄 |
QDir::Writable | 列出所有具有"寫"屬性的檔案和目錄 |
QDir::Executable | 列出所有具有"執行"屬性的檔案和目錄 |
QDir::Modified | 只列出被修改過的檔案(UNIX系統無效) |
QDir::Hidden | 列出隱藏檔案(在UNIX系統下,隱藏檔案的檔名以"."開始) |
QDir::System | 列出系統檔案(在UNIX系統下指FIFO、套接字和裝置檔案) |
QDir::CaseSensitive | 檔案系統如果區分檔名大小寫,則按大小寫方式進行過濾 |
③ 引數3指定了列表的排序情況
排序方式 | 作用描述 |
QDir::Name | 按名稱排序 |
QDir::Time | 按時間排序(修改時間) |
QDir::Size | 按檔案大小排序 |
QDir::Type | 按檔案型別排序 |
QDir::Unsorted | 不排序 |
QDir::DirsFirst | 目錄優先排序 |
QDir::DirsLast | 目錄最後排序 |
QDir::Reversed | 反序 |
QDir::IgnoreCase | 忽略大小寫方式排序 |
QDir::LocaleAware | 使用當前本地排序方式進行排序 |
- remove():刪除檔案
- rmdir():刪除目錄