Qt 檔案目錄操作

2021-10-20 07:38:22 字數 3201 閱讀 6808

qfile:除了開啟檔案操作外,還有複製檔案、刪除檔案等功能

qfileinfo:用於提取檔案資訊,包括路徑、檔名、字尾

qdir:用於提取目錄或檔案資訊,獲取乙個目錄下的檔案或目錄列表,建立或刪除目錄和檔案,檔案重名等操作

qtemporarydir 和 qtemporaryfile:用於建立臨時目錄和臨時檔案。

qfilesystemwatcher:監聽目錄下檔案的新增、刪除等變化

返回應用程式啟動路徑

返回應用程式的帶有目錄的完整檔名

返回應用程式名稱,無路徑無字尾

qstringlist librarypaths()

返回動態載入庫檔案時,應用程式搜素的目錄列表

int exec()

退出應用程式

以下為靜態方法

bool copy(const qstring &filename, const qstring &newname)

複製檔案

bool rename(const qstring &oldname, const qstring &newname)

重新命名bool remove(const qstring &filename)

刪除bool exists(const qstring &filename)

判斷是否存在

以下為成員函式

bool copy(const qstring &newname)

複製檔案

bool rename(const qstring &newname)

重新命名bool remove()

刪除bool exists() const

判斷是否存在

qstring absolutefilepath() const

返回帶有檔名的絕對路徑

qstring absolutepath() const

返回絕對路徑,不帶檔名

qstring filename() const

返回去除路徑的檔名

qstring filepath() const

返回包含路徑的檔名

qstring path() const

返回不含檔名的路徑

qint64 size() const

返回檔案大小

qstring suffix() const

返回最後乙個"."之後的字尾

qstring completesuffix() const

返回第乙個"."之後的字尾

qdatetime lastmodified() const

返回檔案最後一次被修改的時間

靜態方法

qstring temppath()

返回臨時檔案目錄名稱

qstring rootpath()

返回根目錄名稱

qstring homepath()

返回主目錄名稱

qstring currentpath()

返回當前目錄名稱

成員函式

qstring absolutefilepath(qstring &filename)

返回當前目錄下的乙個檔案的含絕對路徑檔名

qstring absolutepath()

返回當前目錄的絕對路徑

qstring filepath(qstring &filename)

返回目錄下乙個檔案的目錄名

qstring dirname()

返回最後一級目錄的名稱

qstringlist entrylist(filters filters = nofilter, sortflags sort = nosort) const

返回目錄下的所有檔名、子目錄

bool mkdir(const qstring &dirname) const

在當前目錄下建乙個名稱為dirname的子目錄

bool rmdir(const qstring &dirname) const

刪除指定的目錄dirname

bool rename(const qstring &oldname, const qstring &newname)

將檔案或目錄重新命名

示例:刪除目錄下所有子目錄和檔案

bool cleardir(qstring path)

qdir dir(path);

if (!dir.exists())

dir.setfilter(qdir::allentries | qdir::nodotanddotdot); //設定過濾

qfileinfolist filelist = dir.entryinfolist(); // 獲取所有的檔案資訊

//遍歷檔案資訊

foreach(qfileinfo file, filelist)

else // 遞迴刪除

}return true;

}

臨時目錄可以設定為使用完成後自動刪除,即臨時目錄變數刪除時,臨時目錄頁刪除。

void setautoremove(bool b)

設定為是否自動刪除

qstring path()

返回建立的臨時目錄名稱

qstring remove()

刪除此臨時目錄及其下面所有檔案

qfilesystemwatcher是對目錄和檔案進行監聽的類。

把某些目錄或檔案新增到qfilesystemwatcher物件的監聽列表後,當目錄下發生檔案新建、刪除等操作時會發射filechanged(const qstring &path)訊號。

示例:監聽d:/image/test.png這個檔案,我們程式寫完後,進入到目錄重新命名檔案。

QT檔案目錄操作

qt檔案目錄操作 sf2gis 163.com 2014年11月28日 讀取 qfile開啟檔案,qtextstream獲取檔案流,qtextstream呼叫read函式讀取資料。使用完成後關閉。寫入 開啟時用write許可權,然後向流中寫入資訊。參見 qt檔案讀寫.docx 使用qdir讀取當前目...

QT 常用檔案與目錄操作

qt 常用檔案與目錄操作 1.刪除乙個目錄及其下面的所有檔案 qstring path tmp maps qdir dir path dir.removerecursively qt4 不支援 用下述遍歷方法 qdir d path path 不能為空,為空刪出當前目錄.小心 d.setfilter...

QT目錄操作

1.1目錄操作 1.1.1判斷目錄是否存在 qdir mdir d qdebug 1.1.2建立目錄 qdir mdir d ceshi if mdir.exists else 1.1.3獲取常用目錄 qdebug 返回應用當前的目錄 qdebug 返回應用程式當前目錄的絕對路徑。qdebug 返回...