簡介: 要在javascript中實現文件操做功能,主要就是依靠FileSystemobject對象。javascript
FileSystemObject編程:java
使用FileSystemObject 對象進行編程很簡單,通常要通過以下的步驟: 建立FileSystemObject對象、應用相關方法、訪問對象相關屬性 。 編程
一、建立FileSystemObject對象 網絡
var fso = new ActiveXObject("Scripting.FileSystemObject");
二、訪問FileSystemObject對象相關屬性 ui
a) GetDrive負責獲取驅動器信息spa
b) GetFolder負責獲取文件夾信息code
c) GetFile負責獲取文件信息orm
三、Drives對象屬性對象
Drive對象負責收集系統中的物理或邏輯驅動器資源內容,它具備以下屬性: ip
TotalSize:以字節(byte)爲單位計算的驅動器大小。 AvailableSpace或FreeSpace:以字節(byte)爲單位計算的驅動器可用空間。 DriveLetter:驅動器字母。 DriveType:驅動器類型,取值爲:removable(移動介質)、fixed(固定介質)、network(網絡資源)、CD-ROM或者RAM盤。 SerialNumber:驅動器的系列碼。 FileSystem:所在驅動器的文件系統類型,取值爲FAT、FAT32和NTFS。 IsReady:驅動器是否可用。 ShareName:共享名稱。 VolumeName:卷標名稱。 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
a) 建立文件
第一種是使用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);
b) 讀取文件內容
從文本文件中讀取數據要使用TextStream對象的Read、ReadLine或ReadAll 方法。Read方法用於讀取文件中指定數量的字符; ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個內容。讀取的內容存放於字符串變量中,用於顯示、分析。
方法或者屬性 描述
BuildPath() 生成一個文件路徑 CopyFile() 複製文件 CopyFolder() 複製目錄 CreateFolder() 建立新目錄 CreateTextFile() 生成一個文件 DeleteFile() 刪除一個文件 DeleteFolder() 刪除一個目錄 DriveExists() 檢驗盤符是否存在 Drives 返回盤符的集合 FileExists() 檢驗文件是否存在 FolderExists 檢驗一個目錄是否存在 GetAbsolutePathName() 取得一個文件的絕對路徑 GetBaseName() 取得文件名 GetDrive() 取得盤符名 GetDriveName() 取得盤符名 GetExtensionName() 取得文件的後綴 GetFile() 生成文件對象 GetFileName() 取得文件名 GetFolder() 取得目錄對象 GetParentFolderName 取得文件或目錄的父目錄名 GetSpecialFolder() 取得特殊的目錄名 GetTempName() 生成一個臨時文件對象 MoveFile() 移動文件 MoveFolder() 移動目錄 OpenTextFile() 打開一個文件流 f.Files //目錄下全部文件集合 f.attributes //文件屬性 Case 0 Str="普通文件。沒有設置任何屬性。 " Case 1 Str="只讀文件。可讀寫。 " Case 2 Str="隱藏文件。可讀寫。 " Case 4 Str="系統文件。可讀寫。 " Case 16 Str="文件夾或目錄。只讀。 " Case 32 Str="上次備份後已更改的文件。可讀寫。 " Case 1024 Str="連接或快捷方式。只讀。 " Case 2048 Str=" 壓縮文件。只讀。" f.Datecreated // 建立時間 f.DateLastAccessed //上次訪問時間 f.DateLastModified // 上次修改時間 f.Path //文件路徑 f.Name //文件名稱 f.Type //文件類型 f.Size // 文件大小(單位:字節) f.ParentFolder //父目錄 f.RootFolder // 根目錄
實例
var fso, ts, s; fso = new ActiveXObject("Scripting.FileSystemObject"); var ForReading = 1; // 讀取文件的內容。 ts = fso.OpenTextFile(path, ForReading); s = ts.ReadLine(); while(s!=null&&s!=undefined){ alert(s); try{ s = ts.ReadLine(); }catch (e){ break; } }