在封裝自己的FileSystemObject庫(kù)的時(shí)候,測(cè)試的時(shí)候發(fā)現(xiàn)在文件夾或文件很多的時(shí)候,效率很低,顯示一個(gè)文件夾需要2秒甚至更多,這讓我很是奇怪,因?yàn)轱@示文件夾及文件信息的時(shí)候直接都是使用Folder及File對(duì)象的屬性,這應(yīng)該不會(huì)引起性能上的問(wèn)題,但是事實(shí)卻說(shuō)明我的想法過(guò)于簡(jiǎn)單了。
按個(gè)測(cè)試了一下可能會(huì)是哪些屬性引起的性能問(wèn)題,在去掉Type也就是類型屬性顯示的時(shí)候,性能有了很大提高,之后的測(cè)試也證明了是Type屬性的使用導(dǎo)致了性能問(wèn)題。
仔細(xì)想了一下,Type引起性能低的原因應(yīng)該是,引用Type屬性所得到的是文件的具體類型信息,也就是我們?cè)谫Y源瀏覽器里看到的那樣,比如TXT文件的類型就是顯示為“文本文檔”,但是這個(gè)類型信息卻是存儲(chǔ)在系統(tǒng)中,通過(guò)文件擴(kuò)展名進(jìn)行關(guān)聯(lián)的。在FSO中使用Type屬性的時(shí)候,對(duì)于每個(gè)File對(duì)象,F(xiàn)SO都需要根據(jù)擴(kuò)展名去系統(tǒng)中檢索這個(gè)擴(kuò)展名對(duì)應(yīng)的類型名稱,這樣,就極大的降低了性能。
因此,在使用FileSystemObject時(shí),如果可以不使用File或者Folder對(duì)象的Type屬性,就盡量不使用。
希望此文對(duì)你有所幫助。