這篇文章主要講解了“MySQL對(duì)文件操作的封裝方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Mysql對(duì)文件操作的封裝方法”吧!
做網(wǎng)站、網(wǎng)站設(shè)計(jì)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營(yíng)銷(xiāo)思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開(kāi)源代碼、注重用戶(hù)體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶(hù)的方式做到創(chuàng)意性的視覺(jué)化效果。
在查看Mysql對(duì)文件的操作中發(fā)現(xiàn),它在不同的操作系統(tǒng)上對(duì)文件的操作,除了使用標(biāo)準(zhǔn)C運(yùn)行庫(kù)函數(shù),包括open、close、seek等,在Win32下的文件和目錄操作函數(shù)使用了CreatFile、CloseHandl、SetFilePointer等,不明白為什么對(duì)文件的操作要封裝出兩套函數(shù)。
查看了相關(guān)資料,其實(shí)使用API和標(biāo)準(zhǔn)庫(kù)函數(shù)都可以生成文本文件和二進(jìn)制文件,在這點(diǎn)上沒(méi)有區(qū)別。同read()對(duì)應(yīng)的是ReadFile,同write()對(duì)應(yīng)的是WriteFile,同seek()對(duì)應(yīng)的是SetFilePointer,同close對(duì)應(yīng)的是CloseHandle。這兩套函數(shù)都可以使用。但是Win
32系統(tǒng)把文件的概念進(jìn)行了擴(kuò)展。無(wú)論是文件、通信設(shè)備、命名管道、郵件槽、磁盤(pán)、還是控制臺(tái),都是用API函數(shù)CreateFile來(lái)打開(kāi)或創(chuàng)建的。該函數(shù)的聲明為:
HANDLE
CreateFile(
LPCTSTR lpFileName, // 文件名
DWORD dwDesiredAccess, // 訪問(wèn)模式
DWORD dwShareMode, // 共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
// 通常為NULL
DWORD dwCreationDistribution, // 創(chuàng)建方式
DWORD
dwFlagsAndAttributes, // 文件屬性和標(biāo)志
HANDLE hTemplateFile // 臨時(shí)文件的句柄,通常為NULL
);
如果調(diào)用成功,那么該函數(shù)返回文件的句柄,如果調(diào)用失敗,則函數(shù)返回INVALID_HANDLE_VALUE。
在用ReadFile和WriteFile讀寫(xiě)時(shí),既可以同步執(zhí)行,也可以異步執(zhí)行。ReadFile和WriteFile函數(shù)是否為執(zhí)行異步操作是由CreateFile函數(shù)決定的。如果在調(diào)用CreateFile創(chuàng)建句柄時(shí)指定了FILE_FLAG_OVERLAPPED標(biāo)志,那么調(diào)用ReadFile和WriteFile對(duì)該句柄進(jìn)行的讀寫(xiě)操作就是異步的,如果未指定異步標(biāo)志,則讀寫(xiě)操作是同步的。在同步執(zhí)行時(shí),函數(shù)直到操作完成后才返回。這意味著在同步執(zhí)行時(shí)線程會(huì)被阻塞,從而導(dǎo)致效率下降。在異步執(zhí)行時(shí),即使操作還未完成,調(diào)用的函數(shù)也會(huì)立即返回。費(fèi)時(shí)的I/O操作在后臺(tái)進(jìn)行,這樣線程就可以干別的事情。這樣可以大大的提高效率。這一點(diǎn)是值得我們學(xué)習(xí)和借鑒的,對(duì)于我們?cè)谖募牟僮鞣矫嬉部梢詫?duì)win32系統(tǒng)進(jìn)行封裝來(lái)提高文件操作的效率。
感謝各位的閱讀,以上就是“Mysql對(duì)文件操作的封裝方法”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Mysql對(duì)文件操作的封裝方法這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站欄目:Mysql對(duì)文件操作的封裝方法
標(biāo)題路徑:http://www.rwnh.cn/article8/jsdpop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、域名注冊(cè)、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)