人妻系例无码AV专区,国产午夜精品福利久久,天天欢夜夜爽视频精品,中文字幕久久人妻被中出一区精品

.CN 三亞資訊 生活散文
用戶名:    密碼:   注冊
  工行 中行 建行 交行 農(nóng)行 郵政銀行   百度翻譯        京東 微博 網(wǎng)易 新浪 百度        163郵箱 QQ郵箱     
首頁> 電腦雜記
js 對本地文件的操作
2023-02-10 12:19    1206次

今天項目用到需要在客戶端打開文件,并判斷文件的大小。

<script language = "javascript" type = "text/javascript">
            var getActiveXObject ,getFile,someMessage;
             getAXO = new ActiveXObject("Scripting.FileSystemObject");  
            getF = getAXO.GetFile("C:\bootbak.ini");  
            someMessage = "FileName:" + getF.Name   + "Filesize:" + getF.size + " bytes."; 
     if(getF.size > 500)
     {
     alert(s);
     } 
     else
     {
     alert("This file's size is small!");
     } 
</script>


一、功能實現(xiàn)核心:FileSystemObject 對象

其實,要在Javascript中實現(xiàn)文件操作功能,主要就是依靠FileSystemobject對象。在詳細(xì)介紹FileSystemobject對象的各個屬性和方法的使用細(xì)節(jié)前,先來看看這個對象包括哪些相關(guān)對象和集合:

二、FileSystemObject編程三部曲

使用FileSystemObject 對象進行編程很簡單,一般要經(jīng)過如下的步驟: 創(chuàng)建FileSystemObject對象、應(yīng)用相關(guān)方法、訪問對象相關(guān)屬性 。

(一)創(chuàng)建FileSystemObject對象

創(chuàng)建FileSystemObject對象的代碼只要1行:

var fso = new ActiveXObject("Scripting.FileSystemObject");

上述代碼執(zhí)行后,fso就成為一個FileSystemObject對象實例。

(二)應(yīng)用相關(guān)方法

創(chuàng)建對象實例后,就可以使用對象的相關(guān)方法了。比如,使用CreateTextFile方法創(chuàng)建一個文本文件:

var fso = new ActiveXObject("Scripting.FileSystemObject");

var f1 = fso.createtextfile("c:\myjstest.txt",true");

(三)訪問對象相關(guān)屬性

要訪問對象的相關(guān)屬性,首先要建立指向?qū)ο蟮木浔?,這就要通過get系列方法實現(xiàn):GetDrive負(fù)責(zé)獲取驅(qū)動器信息,GetFolder負(fù)責(zé)獲取文件夾信息,GetFile負(fù)責(zé)獲取文件信息。比如,指向下面的代碼后,f1就成為指向文件c: est.txt的句柄:

var fso = new ActiveXObject("Scripting.FileSystemObject");

var f1 = fso.GetFile("c:\myjstest.txt");

然后,使用f1訪問對象的相關(guān)屬性。比如:

var fso = new ActiveXObject("Scripting.FileSystemObject");

var f1 = fso.GetFile("c:\myjstest.txt");

alert("File last modified: " + f1.DateLastModified);

執(zhí)行上面最后一句后,將顯示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);

三、操作驅(qū)動器(Drives)

使用FileSystemObject對象來編程操作驅(qū)動器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對文件進行交互操作一樣,比如:拷貝、移動文件夾,獲取文件夾的屬性。

(一)Drives對象屬性

Drive對象負(fù)責(zé)收集系統(tǒng)中的物理或邏輯驅(qū)動器資源內(nèi)容,它具有如下屬性:

TotalSize:以字節(jié)(byte)為單位計算的驅(qū)動器大小。

AvailableSpace或FreeSpace:以字節(jié)(byte)為單位計算的驅(qū)動器可用空間。

DriveLetter:驅(qū)動器字母。

DriveType:驅(qū)動器類型,取值為:removable(移動介質(zhì))、fixed(固定介質(zhì))、network(網(wǎng)絡(luò)資源)、CD-ROM或者RAM盤。

SerialNumber:驅(qū)動器的系列碼。

FileSystem:所在驅(qū)動器的文件系統(tǒng)類型,取值為FAT、FAT32和NTFS。

IsReady:驅(qū)動器是否可用。

ShareName:共享名稱。

VolumeName:卷標(biāo)名稱。

Path和RootFolder:驅(qū)動器的路徑或者根目錄名稱。

(二)Drive對象操作例程

下面的例程顯示驅(qū)動器C的卷標(biāo)、總?cè)萘亢涂捎每臻g等信息:

var fso, drv, s ="";

fso = new ActiveXObject("Scripting.FileSystemObject");

drv = fso.GetDrive(fso.GetDriveName("c:\"));

s += "Drive C:" + " - ";

s += drv.VolumeName + " ";

s += "Total Space: " + drv.TotalSize / 1024;

s += " Kb" + " ";

s += "Free Space: " + drv.FreeSpace / 1024;

s += " Kb" + " ";

alert(s);

執(zhí)行后出現(xiàn)下面的信息框:

四、操作文件夾(Folders)

涉及到文件夾的操作包括創(chuàng)建、移動、刪除以及獲取相關(guān)屬性。

(一) Folder對象的相關(guān)屬性和方法列表

(二)Folder對象操作例程

下面的例程將練習(xí)獲取父文件夾名稱、創(chuàng)建文件夾、刪除文件夾、判斷是否為根目錄等操作:

var fso, fldr, s = "";

// 創(chuàng)建FileSystemObject對象實例

fso = new ActiveXObject("Scripting.FileSystemObject");

// 獲取Drive 對象

fldr = fso.GetFolder("c:\");

// 顯示父目錄名稱

alert("Parent folder name is: " + fldr + " ");

// 顯示所在drive名稱

alert("Contained on drive " + fldr.Drive + " ");

// 判斷是否為根目錄

if (fldr.IsRootFolder)

alert("This is the root folder.");

else

alert("This folder isn't a root folder.");

alert(" ");

// 創(chuàng)建新文件夾

fso.CreateFolder ("C:\Bogus");

alert("Created folder C:\Bogus" + " ");

// 顯示文件夾基礎(chǔ)名稱,不包含路徑名

alert("Basename = " + fso.GetBaseName("c:\bogus") + " ");

// 刪除創(chuàng)建的文件夾

fso.DeleteFolder ("C:\Bogus");

alert("Deleted folder C:\Bogus" + " ");

五、操作文件(Files)

對文件進行的操作要比以上介紹的驅(qū)動器(Drive)和文件夾(Folder)操作復(fù)雜些,基本上分為以下兩個類別:對文件的創(chuàng)建、拷貝、移動、刪除操作和對文件內(nèi)容的創(chuàng)建、添加、刪除和讀取操作。下面分別詳細(xì)介紹。

(一)創(chuàng)建文件

一共有3種方法可用于創(chuàng)建一個空文本文件,這種文件有時候也叫做文本流(text stream)。

第一種是使用CreateTextFile方法。代碼如下:

var fso, f1;

fso = new ActiveXObject("Scripting.FileSystemObject");

f1 = fso.CreateTextFile("c:\testfile.txt", true);

第二種是使用OpenTextFile方法,并添加上ForWriting屬性,F(xiàn)orWriting的值為2。代碼如下:

var fso, ts;

var ForWriting= 2;

fso = new ActiveXObject("Scripting.FileSystemObject");

ts = fso.OpenTextFile("c:\test.txt", ForWriting, true);

`第三種是使用OpenAsTextStream方法,同樣要設(shè)置好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);

(二)添加數(shù)據(jù)到文件

`當(dāng)文件被創(chuàng)建后,一般要按照“打開文件->填寫數(shù)據(jù)->關(guān)閉文件”的步驟實現(xiàn)添加數(shù)據(jù)到文件的目的。

打開文件可使用FileSystemObject對象的OpenTextFile方法,或者使用File對象的OpenAsTextStream方法。

填寫數(shù)據(jù)要使用到TextStream對象的Write、WriteLine或者WriteBlankLines方法。在同是實現(xiàn)寫入數(shù)據(jù)的功能下,這3者的區(qū)別在于:Write方法不在寫入數(shù)據(jù)末尾添加新?lián)Q行符,WriteLine方法要在最后添加一個新?lián)Q行符,而WriteBlankLines則增加一個或者多個空行。

關(guān)閉文件可使用TextStream對象的Close方法。

(三)創(chuàng)建文件及添加數(shù)據(jù)例程

下面的代碼將創(chuàng)建文件、添加數(shù)據(jù)、關(guān)閉文件幾個步驟結(jié)合起來進行應(yīng)用:

var fso, tf;

fso = new ActiveXObject("Scripting.FileSystemObject");

// 創(chuàng)建新文件

tf = fso.CreateTextFile("c:\testfile.txt", true);

// 填寫數(shù)據(jù),并增加換行符

tf.WriteLine("Testing 1, 2, 3.") ;

// 增加3個空行

tf.WriteBlankLines(3) ;

// 填寫一行,不帶換行符

tf.Write ("This is a test.");

// 關(guān)閉文件

tf.Close();

(四)讀取文件內(nèi)容

從文本文件中讀取數(shù)據(jù)要使用TextStream對象的Read、ReadLine或ReadAll 方法。Read方法用于讀取文件中指定數(shù)量的字符;ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個內(nèi)容。讀取的內(nèi)容存放于字符串變量中,用于顯示、分析。在使用Read或ReadLine方法讀取文件內(nèi)容時,如果要跳過一些部分,就要用到Skip或SkipLine方法。

下面的代碼演示打開文件、填寫數(shù)據(jù),然后讀取數(shù)據(jù):

var fso, f1, ts, s;

var ForReading = 1;

fso = new ActiveXObject("Scripting.FileSystemObject");

// 創(chuàng)建文件

f1 = fso.CreateTextFile("c:\testfile.txt", true);

// 填寫一行數(shù)據(jù)

f1.WriteLine("Hello World");

f1.WriteBlankLines(1);

// 關(guān)閉文件

f1.Close();

// 打開文件

ts = fso.OpenTextFile("c:\testfile.txt", ForReading);

// 讀取文件一行內(nèi)容到字符串

s = ts.ReadLine();

// 顯示字符串信息

alert("File contents = '" + s + "'");

// 關(guān)閉文件

ts.Close();

(五)移動、拷貝和刪除文件

對于以上三種文件操作,Javascript各有兩種對應(yīng)的方法:File.Move 或 FileSystemObject.MoveFile用于移動文件;File.Copy 或 FileSystemObject.CopyFile用于拷貝文件;File.Delete 或 FileSystemObject.DeleteFile用于刪除文件。

下面的代碼演示在驅(qū)動器C的根目錄下創(chuàng)建一個文本文件,填寫一些內(nèi)容,然后將文件移動到 mp目錄下,再在目錄 emp下面建立一個文件拷貝,最后刪除這兩個目錄的文件:

var fso, f1, f2, s;

fso = new ActiveXObject("Scripting.FileSystemObject");

f1 = fso.CreateTextFile("c:\testfile.txt", true);

// 寫一行

f1.Write("This is a test.");

// 關(guān)閉文件

f1.Close();

// 獲取C:根目錄下的文件句柄

f2 = fso.GetFile("c:\testfile.txt");

// 移動文件到 mp目錄下

f2.Move ("c:\tmp\testfile.txt");

// 拷貝文件到 emp目錄下

f2.Copy ("c:\temp\testfile.txt");

// 獲取文件句柄

f2 = fso.GetFile("c:\tmp\testfile.txt");

f3 = fso.GetFile("c:\temp\testfile.txt");

// 刪除文件

f2.Delete();

f3.Delete();

 

  • 網(wǎng)友評論僅供網(wǎng)友表達個人看法,并不表明三亞資訊同意其觀點或證實其描述:
  • 驗證碼:
  • 爛頭嶺
    臺風(fēng)“潭美”前的海邊
    八排山
    拉胡線
    玄碧湖
    黑白線稿“漂浮”在漁村的海天
    湛江北部灣農(nóng)旅產(chǎn)業(yè)園
    山欽灣燕子洞
    大隆水庫
    肇慶冷翁頂
    有種邪惡:它不教人去愛,而是
    北京龍門澗
    惠州東莞兩頂
    林芝
    五郎嶂
    美麗沙海景
    椰味…
    蓋蒂博物館,私人收藏家的藏品
    三亞梅聯(lián)角頭灣星空
    國際奧運會視覺系統(tǒng)手冊欣賞
    Failed to load
    centos 7.9 gl
    海南最美海灣攝影
    __FILE__和$_SER
    CSS rem 和 em
    input 透明背景
    ?小暑綠新荷
    curl命令詳解
    光影
    娜扎生活自拍
     三亞便民
    ?? 賀師傅開鎖配汽車鑰匙店服
    ?? 海南省小客車保有量調(diào)控管
    ?? 三亞車輛年檢
    ?? 維修家庭普通電路,電話1
    ?? 對中醫(yī)推拿有多年工作經(jīng)驗
    ?? 海南遷禧搬家貨運
    ?? 中國南方電網(wǎng)天涯供電所桶
    ?? 三亞中法供水有限公司
    ?? 電腦桌,保密柜,辦公家具
    ?? 泉源康體養(yǎng)生
     三亞新聞
    ?? 2023極光三亞露營節(jié)
    ?? 來,帶你去看不一樣的崖州
    ?? 三亞擬增設(shè)一條新公交線路
    ?? 三亞市新建商品房購房問答
    ?? 海南省住房和城鄉(xiāng)建設(shè)廳:
    ?? 崖州灣科技城一年一度“嗨
    ?? 海南省漁業(yè)監(jiān)察總隊原政委
    ?? 全球最大潛水培訓(xùn)機構(gòu)PA
    ?? 習(xí)近平總書記重要講話思維
    ?? 黨的二十大報告全文
     三亞美食
    ?? 湖南老湘味(黃流店)20
    ?? 麻辣甲魚,香辣小龍蝦
    ?? 朋友相聚商務(wù)接待,江伴月
    ?? 【春余燒烤涮】主打綠色自
    ?? 大糖糖小吃明天正式推出正
    ??  祖?zhèn)髅刂扑椒?/a>
    ?? 海掌柜海鮮
    ?? 漢密欣語(商品街店)
    ?? 小湖南家常菜館
    ?? 【牛太郎】 大型無煙
     三亞旅游
    ?? 三亞千古情景區(qū)
    ?? 三亞宋城旅游區(qū)5月推雙重
    ?? “永樂號”5月20日開啟
    ?? 海南最美的八個灣
    ?? 關(guān)于三亞
    ?? 紅藝人歌舞表演
    ?? 大小洞天
    ?? 美麗之冠
    ?? 三亞灣
    ?? 南田溫泉
     三亞酒店
    ?? 2023年三亞知名酒店推
    ?? 三亞浪漫海景公寓蘭海花園
    ?? 三亞灣HelloKitt
    ?? 三亞鳳凰島空中花園酒店
    ?? 三亞明申高爾夫度假酒店
    ?? 【臨春河路】三亞沐藍灣酒
    ?? 【三亞灣路】三亞海貝貝沙
    ?? 【河西路】東升快捷商務(wù)酒
    ?? 【團結(jié)路】一路向南旅行客
    ?? 【三亞灣路】椰林灘大酒店
    信息發(fā)布
    瓊粹美好
    遷禧搬家
    天涯家居
    林控軟件
    三亞資訊公眾號
    關(guān)于我們      版權(quán)聲明      服務(wù)條款      聯(lián)系我們      站點地圖      sitemaps    瓊ICP備05002060號       ©Copyright 2003 - 2024  hrrqr.com  三亞資訊
    Powered by 霄榮廣告 傳遞美好