Qt5中檔案資料夾常規操作

2021-10-19 05:25:42 字數 3065 閱讀 4934

針對檔案及資料夾的一系列常規操作(**示例):

#include

#include

#include

#include

#include

//file

bool

isfileexist

(qstring &strpath)

;void

removefile

(qstring filename)

;bool

renamefile

(qstring srcfilename,qstring desfilename)

;bool

copyfile

(qstring srcfilename,qstring desfilename)

;qstring getfilemd5

(qstring filepath)

;void

dealsamefilename

(qstring& filename)

;//folder

bool

copydir

(const qstring &source,

const qstring &destination,

bool override)

;bool

createdir

(qstring path)

;void

clearfolder

(const qstring &folderfullpath,

bool bdeleteall =

false

);

#include

//判斷檔案是否存在

bool

isfileexist

(qstring &strpath)

return

false;}

// 刪除檔案

void

removefile

(qstring filename)

}//重新命名檔案,全路徑

bool

renamefile

(qstring srcfilename, qstring desfilename)

return

false;}

//拷貝檔案,可重新命名,全路徑

bool

copyfile

(qstring srcfilename, qstring desfilename)

return

false;}

/** * @brief 拷貝資料夾到目的資料夾

* @param source 源資料夾全路徑,比如 "f:/tx" ,"f:/txd/des/desd"

* @param source 要copy到的目的路徑 比如 "f:/tx/des/desd"

* @param override 如果目的檔案存在,比如 "f:/txd/des/desd" 存在,是否覆蓋,true表示覆蓋

*/bool

copydir

(const qstring &source,

const qstring &destination,

bool override)

qstring srcpath = qdir::

tonativeseparators

(source);if

(!srcpath.

endswith

(qdir::

separator()

))srcpath +

= qdir::

separator()

; qstring dstpath = qdir::

tonativeseparators

(destination);if

(!dstpath.

endswith

(qdir::

separator()

))dstpath +

= qdir::

separator()

;bool error =

false

; qstringlist filenames = directory.

entrylist

(qdir::allentries | qdir::nodotanddotdot | qdir::hidden)

;for

(qstringlist::size_type i=

0; i != filenames.

size()

;++i)

qfile::

copy

(srcfilepath, dstfilepath);}

else

if(fileinfo.

isdir()

)}}return

!error;

}//建立資料夾

bool

createdir

(qstring path)

if(dir.

mkpath

(path)

)return

false;}

//清空資料夾

//bdeleteall 是否刪除資料夾本身。

void

clearfolder

(const qstring &folderfullpath,

bool bdeleteall)

if(curfile.

isdir()

)/* 如果是資料夾 */

else

/* 下層有資料夾或檔案 則將資訊新增到列表*/}}

}}}if

(bdeleteall)

}//獲取檔案md5碼

qstring getfilemd5

(qstring filepath)

void

dealsamefilename

(qstring& filename)

filename = extractfilename;

}}

Qt 檔案管理 資料夾

1 建立資料夾 folder 是路徑,可以是絕對或相對路徑 bool pathhelper createdirectory qstring folder else 2刪除資料夾 bool pathhelper deldir const qstring name qdir dir path if di...

遍歷資料夾中檔案

import os 方法1 for root,dirs,files in os.walk path print root 根目錄 print dirs 目錄下資料夾 print files 目錄下檔案 方法2 for files in os.listdir path print files 方法3 ...

Qt關於檔案和資料夾的操作

qdir類提供了一種與平台無關的遍歷目錄並獲得有關檔案資訊的方法。總結了一下它的用法如下 1 如何根據乙個目錄查到它的子目錄及它所擁有的檔案 int mainwindow findallfileanddir const qstring dirpath else return result 通過上面的...