夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          一、功能實現核心:FileSystemObject   對象    
                    要在javascript中實現文件操作功能,主要就是依靠FileSystemobject對象。  
            二、FileSystemObject
            使用FileSystemObject   對象進行編程很簡單,一般要經過如下的步驟:   創建FileSystemObject對象、應用相關方法、訪問對象相關屬性   。    
            (一)創建FileSystemObject對象    
            創建FileSystemObject對象的代碼只要1行:    
            var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            上述代碼執行后,fso就成為一個FileSystemObject對象實例。    
            (二)應用相關方法    
            創建對象實例后,就可以使用對象的相關方法了。比如,使用CreateTextFile方法創建一個文本文件:    
            var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            var   f1   =   fso.createtextfile("c:\\myjstest.txt",true");    
            (三)訪問對象相關屬性    
            要訪問對象的相關屬性,首先要建立指向對象的句柄,這就要通過get系列方法實現:GetDrive負責獲取驅動器信息,GetFolder負責獲取文件夾信息,GetFile負責獲取文件信息。比如,指向下面的代碼后,f1就成為指向文件c:\test.txt的句柄:    
            var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            var   f1   =   fso.GetFile("c:\\myjstest.txt");    
            然后,使用f1訪問對象的相關屬性。比如:    
            var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            var   f1   =   fso.GetFile("c:\\myjstest.txt");    
            alert("File   last   modified:   "   +   f1.DateLastModified);    
            執行上面最后一句后,將顯示c:\myjstest.txt的最后修改日期屬性值。    
            但有一點請注意:對于使用create方法建立的對象,就不必再使用get方法獲取對象句柄了,這時直接使用create方法建立的句柄名稱就可以:    
            var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            var   f1   =   fso.createtextfile("c:\\myjstest.txt",true");    
            alert("File   last   modified:   "   +   f1.DateLastModified);    
            三、操作驅動器(Drives)    
            使用FileSystemObject對象來編程操作驅動器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對文件進行交互操作一樣,比如:拷貝、移動文件夾,獲取文件夾的屬性。    
            (一)Drives對象屬性    
            Drive對象負責收集系統中的物理或邏輯驅動器內容,它具有如下屬性:    
            l   TotalSize:以字節(byte)為單位計算的驅動器大小。    
            l   AvailableSpace或FreeSpace:以字節(byte)為單位計算的驅動器可用空間。    
            l   DriveLetter:驅動器字母。    
            l   DriveType:驅動器類型,取值為:removable(移動介質)、fixed(固定介質)、network(網絡資源)、CD-ROM或者RAM盤。    
            l   SerialNumber:驅動器的系列碼。    
            l   FileSystem:所在驅動器的文件系統類型,取值為FAT、FAT32和NTFS。    
            l   IsReady:驅動器是否可用。    
            l   ShareName:共享名稱。    
            l   VolumeName:卷標名稱。    
            l   Path和RootFolder:驅動器的路徑或者根目錄名稱。    
            (二)Drive對象操作例程    
            下面的例程顯示驅動器C的卷標、總容量和可用空間等信息:    
            var   fso,   drv,   s   ="";    
            fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            drv   =   fso.GetDrive(fso.GetDriveName("c:\\"));    
            s   +=   "Drive   C:"   +   "   -   ";    
            s   +=   drv.VolumeName   +   "\n";    
            s   +=   "Total   Space:   "   +   drv.TotalSize   /   1024;    
            s   +=   "   Kb"   +   "\n";    
            s   +=   "Free   Space:   "   +   drv.FreeSpace   /   1024;    
            s   +=   "   Kb"   +   "\n";    
            alert(s);    
            四、操作文件夾(Folders)    
            涉及到文件夾的操作包括創建、移動、刪除以及獲取相關屬性。    
            Folder對象操作例程   :  
            下面的例程將練習獲取父文件夾名稱、創建文件夾、刪除文件夾、判斷是否為根目錄等操作:    
            var   fso,   fldr,   s   =   "";    
            //   創建FileSystemObject對象實例    
            fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            //   獲取Drive   對象    
            fldr   =   fso.GetFolder("c:\\");    
            //   顯示父目錄名稱    
            alert("Parent   folder   name   is:   "   +   fldr   +   "\n");    
            //   顯示所在drive名稱    
            alert("Contained   on   drive   "   +   fldr.Drive   +   "\n");    
            //   判斷是否為根目錄    
            if   (fldr.IsRootFolder)    
            alert("This   is   the   root   folder.");    
            else    
            alert("This   folder   isn't   a   root   folder.");    
            alert("\n\n");    
            //   創建新文件夾    
            fso.CreateFolder   ("C:\\Bogus");    
            alert("Created   folder   C:\\Bogus"   +   "\n");    
            //   顯示文件夾名稱,不包含路徑名    
            alert("Basename   =   "   +   fso.GetBaseName("c:\\bogus")   +   "\n");    
            //   刪除創建的文件夾    
            fso.DeleteFolder   ("C:\\Bogus");    
            alert("Deleted   folder   C:\\Bogus"   +   "\n");    
            五、操作文件Files)    
            對文件進行的操作要比以上介紹的驅動器(Drive)和文件夾(Folder)操作復雜些,基本上分為以下兩個類別:對文件的創建、拷貝、移動、刪除操作和對文件內容的創建、添加、刪除和讀取操作。下面分別詳細介紹。    
            (一)創建文件    
            一共有3種方法可用于創建一個空文本文件,這種文件有時候也叫做文本流(text   stream)。    
            第一種是使用CreateTextFile方法。代碼如下:    
            var   fso,   f1;    
            fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            f1   =   fso.CreateTextFile("c:\\testfile.txt",   true);    
            第二種是使用OpenTextFile方法,并添加上ForWriting屬性,ForWriting的值為2。代碼如下:    
            var   fso,   ts;    
            var   ForWriting=   2;    
            fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            ts   =   fso.OpenTextFile("c:\\test.txt",   ForWriting,   true);    
            第三種是使用OpenAsTextStream方法,同樣要設置好ForWriting屬性。代碼如下:    
            var   fso,   f1,   ts;    
            var   ForWriting   =   2;    
            fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            fso.CreateTextFile   ("c:\\test1.txt");    
            f1   =   fso.GetFile("c:\\test1.txt");    
            ts   =   f1.OpenAsTextStream(ForWriting,   true);    
            (二)添加數據到文件    
            當文件被創建后,一般要按照“打開文件->填寫數據->關閉文件”的步驟實現添加數據到文件的目的。    
            打開文件可使用FileSystemObject對象的OpenTextFile方法,或者使用File對象的OpenAsTextStream方法。    
            填寫數據要使用到TextStream對象的Write、WriteLine或者WriteBlankLines方法。在同是實現寫入數據的功能下,這3者的區別在于:Write方法不在寫入數據末尾添加新換行符,WriteLine方法要在最后添加一個新換行符,而WriteBlankLines則增加一個或者多個空行。    
            關閉文件可使用TextStream對象的Close方法。    
            (三)創建文件及添加數據例程    
            下面的代碼將創建文件、添加數據、關閉文件幾個步驟結合起來進行應用:    
            var   fso,   tf;    
            fso   =   new   ActiveXObject("Scripting.FileSystemObject");    
            //   創建新文件    
            tf   =   fso.CreateTextFile("c:\\testfile.txt",   true);    
            //   填寫數據,并增加換行符    
            tf.WriteLine("Testing   1,   2,   3.")   ;    
            //   增加3個空行    
            tf.WriteBlankLines(3)   ;    
            //   填寫一行,不帶換行符    
            tf.Write   ("This   is   a   test.");    
            //   關閉文件    
            tf.Close();    
            (四)讀取文件內容    
            從文本文件中讀取數據要使用TextStream對象的Read、ReadLine或ReadAll   方法。Read方法用于讀取文件中指定數量的字符;ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個內容。讀取的內容存放于字符串變量中,用于顯示。
          posted on 2008-01-09 17:08 HUIKK 閱讀(1714) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 班戈县| 长宁县| 通榆县| 成武县| 新巴尔虎左旗| 哈尔滨市| 茶陵县| 宁河县| 淅川县| 凤凰县| 康乐县| 禄丰县| 榆中县| 平凉市| 共和县| 泽库县| 南岸区| 建始县| 囊谦县| 冷水江市| 金乡县| 苍南县| 岱山县| 吉木乃县| 绵竹市| 象山县| 江川县| 七台河市| 波密县| 临泉县| 荣昌县| 专栏| 文登市| 类乌齐县| 大同县| 望奎县| 禹城市| 婺源县| 广元市| 保靖县| 辰溪县|