• <b id="w3ejn"></b>
    <b id="w3ejn"></b>
    <b id="w3ejn"><small id="w3ejn"></small></b>

  • <b id="w3ejn"></b>
  • <b id="w3ejn"></b>
  • <b id="w3ejn"><address id="w3ejn"><optgroup id="w3ejn"></optgroup></address></b>
    .CN 三亞資訊 生活散文
    用戶名:    密碼:   注冊
      工行 中行 建行 交行 農行 郵政銀行   百度翻譯        京東 微博 網易 新浪 百度        163郵箱 QQ郵箱     
    首頁> 電腦雜記

    js 對本地文件的操作

    2023-02-10 12:19    785次

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

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


    一、功能實現核心:FileSystemObject 對象

    其實,要在Javascript中實現文件操作功能,主要就是依靠FileSystemobject對象。在詳細介紹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: est.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對象負責收集系統中的物理或邏輯驅動器資源內容,它具有如下屬性:

    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 + " ";

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

    s += " Kb" + " ";

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

    s += " Kb" + " ";

    alert(s);

    執行后出現下面的信息框:

    四、操作文件夾(Folders)

    涉及到文件夾的操作包括創建、移動、刪除以及獲取相關屬性。

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

    (二)Folder對象操作例程

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

    var fso, fldr, s = "";

    // 創建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(" ");

    // 創建新文件夾

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

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

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

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

    // 刪除創建的文件夾

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

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

    五、操作文件(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方法則讀取文本文件的整個內容。讀取的內容存放于字符串變量中,用于顯示、分析。在使用Read或ReadLine方法讀取文件內容時,如果要跳過一些部分,就要用到Skip或SkipLine方法。

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

    var fso, f1, ts, s;

    var ForReading = 1;

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

    // 創建文件

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

    // 填寫一行數據

    f1.WriteLine("Hello World");

    f1.WriteBlankLines(1);

    // 關閉文件

    f1.Close();

    // 打開文件

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

    // 讀取文件一行內容到字符串

    s = ts.ReadLine();

    // 顯示字符串信息

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

    // 關閉文件

    ts.Close();

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

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

    下面的代碼演示在驅動器C的根目錄下創建一個文本文件,填寫一些內容,然后將文件移動到 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.");

    // 關閉文件

    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();

     

  • 網友評論僅供網友表達個人看法,并不表明三亞資訊同意其觀點或證實其描述:
  • 驗證碼:
  • 量子糾纏的本質是什么
    松花江畔
    Cay Mai Vàng &
    How to answer
    天衣秀場
    The Benefits o
    How to create
    SEO Forum
    跟通義千問關于大模型的對話
    phpBB banner 欣
    2024年5月7日,俄羅斯總
    phpBB數據庫升級
    關于教育和制造業
    退休人員工資
    紙質Pantone色卡(潘通
    AI對平面設計師和程序員這兩
    AI影響最大的兩個職業
    畫框統一比例還是按照畫的比例
    青甘大環線
    黃果樹風景名勝區陡坡塘瀑布
    臨春嶺森林公園
    惠州市 · 香爐峰
    車站藝術建筑
    歙縣古城
    清遠市 · 北流頂
    RAW格式照片后期處理的具體
    公司手提袋設計參考建議
    路在腳下
    設計海報和LOGO的建議要點
    大興機場的建筑美學
     三亞便民
    ?? 賀師傅開鎖配汽車鑰匙店服
    ?? 海南省小客車保有量調控管
    ?? 三亞車輛年檢
    ?? 維修家庭普通電路,電話1
    ?? 對中醫推拿有多年工作經驗
    ?? 海南遷禧搬家貨運
    ?? 中國南方電網天涯供電所桶
    ?? 三亞中法供水有限公司
    ?? 電腦桌,保密柜,辦公家具
    ?? 泉源康體養生
     三亞新聞
    ?? 2023極光三亞露營節
    ?? 來,帶你去看不一樣的崖州
    ?? 三亞擬增設一條新公交線路
    ?? 三亞市新建商品房購房問答
    ?? 海南省住房和城鄉建設廳:
    ?? 崖州灣科技城一年一度“嗨
    ?? 海南省漁業監察總隊原政委
    ?? 全球最大潛水培訓機構PA
    ?? 習近平總書記重要講話思維
    ?? 黨的二十大報告全文
     三亞美食
    ?? 湖南老湘味(黃流店)20
    ?? 麻辣甲魚,香辣小龍蝦
    ?? 朋友相聚商務接待,江伴月
    ?? 【春余燒烤涮】主打綠色自
    ?? 大糖糖小吃明天正式推出正
    ??  祖傳秘制私房
    ?? 海掌柜海鮮
    ?? 漢密欣語(商品街店)
    ?? 小湖南家常菜館
    ?? 【牛太郎】 大型無煙
     三亞旅游
    ?? 三亞千古情景區
    ?? 三亞宋城旅游區5月推雙重
    ?? “永樂號”5月20日開啟
    ?? 海南最美的八個灣
    ?? 關于三亞
    ?? 紅藝人歌舞表演
    ?? 大小洞天
    ?? 美麗之冠
    ?? 三亞灣
    ?? 南田溫泉
     三亞酒店
    ?? 2023年三亞知名酒店推
    ?? 三亞浪漫海景公寓蘭?;▓@
    ?? 三亞灣HelloKitt
    ?? 三亞鳳凰島空中花園酒店
    ?? 【鹿回頭】三亞明申高爾夫
    ?? 【臨春河路】三亞沐藍灣酒
    ?? 【三亞灣路】三亞海貝貝沙
    ?? 【河西路】東升快捷商務酒
    ?? 【團結路】一路向南旅行客
    ?? 【三亞灣路】椰林灘大酒店
    信息發布
    瓊粹美好
    遷禧搬家
    天涯家居
    林控軟件
    三亞資訊公眾號
    關于我們      版權聲明      服務條款      聯系我們      站點地圖      sitemaps    瓊ICP備05002060號       ©Copyright 2003 - 2024  www.easterndeaftimberfest.com  三亞資訊
    Powered by 霄榮廣告 傳遞美好
    综合专区 亚洲无_2021在线视频高清无码_制服丝袜中文字幕国内自拍_首页中文有码中文字幕20