一本在线视频精品,精品国产一区二区三区AV片,日本免费a级毛,久久精品国产在热99

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

今天項(xiàng)目用到需要在客戶端打開(kāi)文件,并判斷文件的大小。

<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>


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

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

二、FileSystemObject編程三部曲

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

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

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

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

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

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

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

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

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

(三)訪問(wèn)對(duì)象相關(guān)屬性

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

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

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

然后,使用f1訪問(wèn)對(duì)象的相關(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的最后修改日期屬性值。

但有一點(diǎn)請(qǐng)注意:對(duì)于使用create方法建立的對(duì)象,就不必再使用get方法獲取對(duì)象句柄了,這時(shí)直接使用create方法建立的句柄名稱就可以:

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

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

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

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

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

(一)Drives對(duì)象屬性

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

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

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

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

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

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

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

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

ShareName:共享名稱。

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

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

(二)Drive對(duì)象操作例程

下面的例程顯示驅(qū)動(dòng)器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)建、移動(dòng)、刪除以及獲取相關(guān)屬性。

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

(二)Folder對(duì)象操作例程

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

var fso, fldr, s = "";

// 創(chuàng)建FileSystemObject對(duì)象實(shí)例

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

// 獲取Drive 對(duì)象

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)

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

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

一共有3種方法可用于創(chuàng)建一個(gè)空文本文件,這種文件有時(shí)候也叫做文本流(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)建后,一般要按照“打開(kāi)文件->填寫(xiě)數(shù)據(jù)->關(guān)閉文件”的步驟實(shí)現(xiàn)添加數(shù)據(jù)到文件的目的。

打開(kāi)文件可使用FileSystemObject對(duì)象的OpenTextFile方法,或者使用File對(duì)象的OpenAsTextStream方法。

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

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

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

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

var fso, tf;

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

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

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

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

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

// 增加3個(gè)空行

tf.WriteBlankLines(3) ;

// 填寫(xiě)一行,不帶換行符

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

// 關(guān)閉文件

tf.Close();

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

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

下面的代碼演示打開(kāi)文件、填寫(xiě)數(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);

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

f1.WriteLine("Hello World");

f1.WriteBlankLines(1);

// 關(guān)閉文件

f1.Close();

// 打開(kāi)文件

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

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

s = ts.ReadLine();

// 顯示字符串信息

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

// 關(guān)閉文件

ts.Close();

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

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

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

var fso, f1, f2, s;

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

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

// 寫(xiě)一行

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

// 關(guān)閉文件

f1.Close();

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

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

// 移動(dòng)文件到 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)友評(píng)論僅供網(wǎng)友表達(dá)個(gè)人看法,并不表明三亞資訊同意其觀點(diǎn)或證實(shí)其描述:
  • 驗(yàn)證碼:
  • 池州清溪河景
    雪山嶂
    МЕГАСТО - тран
    МЕГАСТО - стр?
    Настройтесь на
    МЕГАСТО - стр?
    МЕГАСТО - л?нт
    tuchjxxs
    新加坡隨拍
    BwSMk00UoUk4kW
    春立歲首,新花照眼
    合肥岸上草原
    Clava is the b
    大小洞天落日
    泰國(guó)海邊
    351國(guó)道 翻越——夾金山
    二叉樹(shù)形
    報(bào)春梅
    福州西禪寺
    窯雞
    冬顏
    林憶蓮
    when wind and
    配色
    三亞崖州灣插畫(huà)藝術(shù)節(jié)
    斜陽(yáng)作畫(huà),古墻生輝
    萬(wàn)物有品
    海南興隆熱帶植物園
    18元烤鴨調(diào)查:大吃一驚 你
    石人嶂
     三亞便民
    ?? 賀師傅開(kāi)鎖配汽車鑰匙店服
    ?? 海南省小客車保有量調(diào)控管
    ?? 三亞車輛年檢
    ?? 維修家庭普通電路,電話1
    ?? 對(duì)中醫(yī)推拿有多年工作經(jīng)驗(yàn)
    ?? 海南遷禧搬家貨運(yùn)
    ?? 中國(guó)南方電網(wǎng)天涯供電所桶
    ?? 三亞中法供水有限公司
    ?? 電腦桌,保密柜,辦公家具
    ?? 泉源康體養(yǎng)生
     三亞新聞
    ?? 2023極光三亞露營(yíng)節(jié)
    ?? 來(lái),帶你去看不一樣的崖州
    ?? 三亞擬增設(shè)一條新公交線路
    ?? 三亞市新建商品房購(gòu)房問(wèn)答
    ?? 海南省住房和城鄉(xiāng)建設(shè)廳:
    ?? 崖州灣科技城一年一度“嗨
    ?? 海南省漁業(yè)監(jiān)察總隊(duì)原政委
    ?? 全球最大潛水培訓(xùn)機(jī)構(gòu)PA
    ?? 習(xí)近平總書(shū)記重要講話思維
    ?? 黨的二十大報(bào)告全文
     三亞美食
    ?? 湖南老湘味(黃流店)20
    ?? 麻辣甲魚(yú),香辣小龍蝦
    ?? 朋友相聚商務(wù)接待,江伴月
    ?? 【春余燒烤涮】主打綠色自
    ?? 大糖糖小吃明天正式推出正
    ??  祖?zhèn)髅刂扑椒?/a>
    ?? 海掌柜海鮮
    ?? 漢密欣語(yǔ)(商品街店)
    ?? 小湖南家常菜館
    ?? 【牛太郎】 大型無(wú)煙
     三亞旅游
    ?? 三亞千古情景區(qū)
    ?? 三亞宋城旅游區(qū)5月推雙重
    ?? “永樂(lè)號(hào)”5月20日開(kāi)啟
    ?? 海南最美的八個(gè)灣
    ?? 關(guān)于三亞
    ?? 紅藝人歌舞表演
    ?? 大小洞天
    ?? 美麗之冠
    ?? 三亞灣
    ?? 南田溫泉
     三亞酒店
    ?? 2023年三亞知名酒店推
    ?? 三亞浪漫海景公寓蘭?;▓@
    ?? 三亞灣HelloKitt
    ?? 三亞鳳凰島空中花園酒店
    ?? 三亞明申高爾夫度假酒店
    ?? 【臨春河路】三亞沐藍(lán)灣酒
    ?? 【三亞灣路】三亞海貝貝沙
    ?? 【河西路】東升快捷商務(wù)酒
    ?? 【團(tuán)結(jié)路】一路向南旅行客
    ?? 【三亞灣路】椰林灘大酒店
    信息發(fā)布
    瓊粹美好
    遷禧搬家
    天涯家居
    林控軟件
    三亞資訊公眾號(hào)
    關(guān)于我們      版權(quán)聲明      服務(wù)條款      聯(lián)系我們      站點(diǎn)地圖      sitemaps    瓊ICP備05002060號(hào)       ©Copyright 2003 - 2025  axa2e.cn  三亞資訊
    Powered by 霄榮廣告 傳遞美好