作 者 : 甘冀平 ;
FSO確實存在一些弱點 - 比如,它很難處理二進位檔案,這包括Word文檔、許多圖形格式的檔案和其他一些檔案。然而你仍然可以用其他的方式操作這些檔案 - 移動它們、刪除它們,等等。你不能做的就是對它們進行開啟或者寫操作。
另外一個限制是對於檔案長度的問題。當立刻讀寫一些內容時,所有的資訊都儲存在記憶體中 - 內容越多,消耗的記憶體就越大。這將使每個工作都變得慢起來。所以,如果需要操作非常大的檔案,或者大量的小檔案時,考慮將檔案分割成小塊,並且經常的清除記憶體。將應用程式融入進COM對象組件,也能大大地提高程式的速度。
同樣,你也不能使用FSO來系統管理權限以及檔案、檔案夾的屬性,執行安全加密的一個很好方法就是將前面提到的留言簿檔案設定為唯讀,在需要時再設定為可寫,然後再修改回來。這個方法經常在CGI和Perl使用,但是很不幸,還沒有令人滿意的方法來用FSO實現。
還能用FSO做什嗎?
在FSO中還有許多很棒的功能,但許多人沒有意識到。這些功能常常是在你感到做某些事情很難後才發現的,這時你經常要感歎到:要是我早知道這個方法就好了!
下面列舉一下這些不常用但是卻非常酷的功能:
很少被瞭解的FSO功能
GetSpecialFolder Method 返回特定的Windows檔案夾的路徑: Windows安裝目錄;Windows系統目錄;Windows臨時目錄 FSO.GetSpecialFolder([0, 1, or 2])
GetTempName Method 返回一個隨機產生的檔案或者目錄名字,用於需要儲存臨時資料時
GetAbsolutePathName Method 返迴文件夾的絕對路徑(類似於Server.MapPath)。
比如,FSO.GetAbsolutePathName("region") 將返回類似於下面的結果:"c:mydocsmyfolder egion"
GetExtensionName Method 返迴路徑中最後部分的副檔名
(比如:FSO.GetExtensionName("c:docs est.txt") 將返回txt)
GetBaseName and GetParentFolder Methods 返迴路徑中最後部分的父資料夾
(比如:FSO.GetParentFolder ("c:docsmydocs") 將返回'docs')
Drives Property 返回所有本地可用磁碟機的集合,用於建立資源總管樣的使用者介面。
使用上面的功能時,最好建立好出錯處理的代碼。因為如果需要的參數不存在,將會產生麻煩的資訊。
總結
如我們所見,FSO非常有用,這裡介紹的僅僅是冰山一角。你可以使用FSO建立功能強大的應用程式,簡單地完成許多任務。